BitBlt 和StretchBlt的区别

        用一句话来说,就是前者不支持放大缩小,后者支持放缩。

CDC::BitBlt

BOOL BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop );

返回值:函数成功,返回非零值,否则为0。

参数:

 x    指定目标矩形左上角的逻辑x坐标。

y     指定目标矩形左上角的逻辑y坐标。
nWidth     指定显示区域矩形的宽度(一般为源位图的宽度)(逻辑单位)。
nHeight    指定显示区域矩形的高度(一般为源位图的高度)(逻辑单位)。
pSrcDC   指向CDC对象的指针,标识待拷贝位图的设备上下文。如果dwRop指定不包括源的光栅操作,则它必须为NULL。
xSrc 指定源位图左上角的逻辑X坐标。
ySrc 指定源位图左上角的逻辑Y坐标。
dwRop 指定要执行的光栅操作。光栅操作代码定义GDC如何合并输出操作中的颜色,包括当前画刷、可能的源位图和目标位图。
下面对dwRop列出光栅操作代码及其描述:
BLACKNESS 所有输出变黑。
DSTINVERT         反转目标位图。
MERGECOPY 使用布尔AND操作符合并特征与源位图。
MERGEPAINT 使用布尔OR操作符合并特征与源位图。
NOTSRCCOPY 拷贝反转源位图到目标。
NOTSRCERASE 反转使用布尔OR操作符合并源和目标位图的结果。
PATCOPY 拷贝特征到目标位图。
PATINVERT 使用布尔XOR操作符合并目标位图和特征。
PATPAINT 使用布尔OR操作符合并反转源位图和特征。用布尔OR操作符合并这项操作结果与目标位图。
SRCAND 使用布尔AND操作符合并目标像素和源位图。
SRCCOPY 拷贝源位图到目标位图。
SRCERASE 反转目标位图并用布尔AND操作符合并这个结果和源位图。
SRCINVERT 使用布尔XOR操作符合并目标像素和源位图。
SRCPAINT 使用布尔OR操作符合并目标像素和源位图。
WHITENESS 所有输出变白。
有关光栅操作代码的完整列表,请参阅联机文档“Win32 SDK程序员参考”附录节中的“关于光栅操作代码”。

CDC::StretchBlt

BOOL StretchBlt(
int x,
int y,
int nWidth,
int nHeight,
CDC* pSrcDC,
intxSrc,
int ySrc,
int nSrcWidth,
int nSrcHeight,
DWORD dwRop
)

返回值:如果位图已经绘制,则返回非零值,否则为0。

参数:

 x 目标矩形左上角的X逻辑坐标。

y 目标矩形左上角的Y逻辑坐标。
nWidth 目标矩形的宽度(逻辑单位)。
nHeight 目标矩形的高度(逻辑单位)。
pSrcDC 指定源设备上下文。
xSrc 源矩形左上角的X逻辑坐标。
ySrc 源矩形左上角的Y逻辑坐标。
nSrcWidth 源矩形的宽度(逻辑单位)。
nSrcHeight 源矩形的高度(逻辑单位)。

dwRop 指定光栅操作。同BitBlt。

说明:

可以看出StretchBlt比BitBlt多了两个参数,就是nSrcWidth 源矩形的宽度,nSrcHeight 源矩形的高度。显示图区的宽度/源的宽度,就是横向的放大倍数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值