GDI编程之五、位图

位图是一个二维的位数组,它与图像的图素一一对应。当现实世界的图像被扫描成位图以后,图像被分割成网格,并以图素作为取样单位。在位图中的每个图素值指明了一个单位网格内图像的平均颜色。单色位图每个图素只需要一位,灰色或彩色位图中每个图素需要多个位。

 

画位图

BitBlt函数从称为「来源」的设备内容中将一个矩形区的图素传输到称为「目的(destination)」的另一个设备内容中相同大小的矩形区。

此函数的语法如下:

BitBlt (hdcDst, xDst, yDst, cx, cy, hdcSrc, xSrc, ySrc, dwROP) ;

 

xSrc和ySrc参数指明了来源图像左上角的坐标位置。

cx和cy参数是图像的宽度和高度。

xDst和yDst参数表示了复制图像位置左上角的坐标位置。

dwROP参数是位映像操作型态,可取以下值:

BLACKNESS        输出区域为黑色

DSTINVERT         反色输出区域

MERGECOPY       在源和目的间使用AND操作

MERGEPAINT      在反色后的目的和源间使用OR操作

NOTSRCCOPY     将反色后的源拷贝到目的区

PATINVERT          源和目的间进行XOR操作

SRCAND              源和目的间进行AND操作

SRCCOPY            复制源到目的区

SRCINVERT         源和目的间进行XOR操作

SRCPAINT            源和目的间进行OR操作

WHITENESS        输出区域为白色

 

拉伸位图

在BitBlt函数中,目的图像与来源图像的尺寸是相同的,因为函数只有两个参数来说明宽度和高度。如果您想在复制时拉伸或者压缩图像尺寸,可以使用StretchBlt函数。

StretchBlt函数的语法如下:

StretchBlt (hdcDst, xDst, yDst, cxDst, cyDst, hdcSrc, xSrc, ySrc, cxSrc, cySrc, dwROP) ;

此函数添加了两个参数。现在的函数就分别包含了目的和来源各自的宽度和高度。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值