《Windows API巡礼》のGetObject函数和GradientFill函数

GetObject函数用于从指定的图形对象中获取信息,原型如下:

其中

1)参数hgdiobj是图形对象的句柄,图形对象可以是如下几种:逻辑位图、刷子、字体、调色板、画笔或者由函数CreateDIBSection创建的设备无关位图;

2)参数cbBuffer是即将写入到缓冲区中的图形对象信息的字节数;

3)参数lpvObject是指向接收图形对象信息的缓冲区的指针,下表是每一种图形对象对应获取到的缓冲区中的信息:

 

返回值:

当函数执行成功且参数lpvObjectNULL时,返回值是保存获取的信息的缓冲区需要的字节数;

当函数执行成功且参数lpvObject是有效地指针时,返回值是存储到缓冲区中的数据的字节数;

当函数执行失败时,返回值是0

实例代码如下,使用GetObject函数获取指定位图的大小:



GradientFill函数用于填充矩形和三角形结构,原型如下:

其中

1)参数hdc是目标设备上下文的句柄;

2)参数pVertex是指向存储TRIVERTEX结构数据的数组;

3)参数nVertex是数组pVertex中的顶点数;

4)参数pMesh在三角形模式中表示存储GRADIENT_TRIANGLE结构数据的数组;在矩形模式中表示存储GRADIENT_RECT结构数据的数组;

5)参数nMeshpMesh数组中元素的个数;

6)参数ulMode指定渐变填充模式,取值如下:

返回值:

函数执行成功时返回TRUE;失败时返回FALSE

 

上面函数中使用到了几个结构,下面分别介绍:

1TRIVERTEX结构包含了颜色信息和位置信息,原型如下:

 

2GRADIENT_RECT结构指定了函数GradientFill中参数pVertex数组中的两个点的索引,这两个点分别是一个矩形的左上角和右下角点,结构原型如下:

3GRADIENT_TRIANGLE结构指定了函数GradientFill函数中pVertex数组中的三个点的索引,这三个点组成一个三角形,结构原型如下:

实例代码如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值