stretchblt(请教函数TransparentBlt的用法)

TransparentBlt(cacheHdc,0,0,m_bgBitmap.bmWidth,m_bgBitmap.bmHeight,hookHdc,0,0,m_hookCRt.Width(),m_hookCRt

TransparentBlt(cacheHdc, 0, 0, m_bgBitmap.bmWidth,m_bgBitmap.bmHeight,

hookHdc, 0, 0, m_hookCRt.Width(),m_hookCRt.Height(), RGB(255,255,255));

TransparentBlt函数参数的作用:

第2、3个参数,资源图片的起始坐标的x,y值;

第4、5个参数,资源图片的宽、高值;

第6个参数,你要画到哪里的目的位图句柄;

第7、8个参数,画到目的位图句柄的起始坐标x,y值;

第9、10个参数,画到目的位图句柄的宽、高值;

第11个参数,应该是要过滤掉的颜色(太久没用这函数,不太确定)。

所以如果你画的图被放大了,那就是第4、5与第9、10参数的值不相等所导致的。4与9要相等,5与10要相等。

函数功能:该函数对指定的源设备环境中的矩形区域像素的颜色数据进行位块(bit_block)转换,并将结果置于目标设备环境。

函数原型:BOOL TransparentBlt(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int hHeightDest, HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, UINT crTransparent);

nXOriginDest:指定目标矩形左上角的X轴坐标,坐标以逻辑单位表示。

nYOriginDest:指定目标矩形左上角的Y轴坐标,坐标以逻辑单位表示。

nHeightDest:指定目标矩形的高度。

nXOriginSrc:指定源矩形(左上角)的X轴坐标,坐标以逻辑单位表示。

nYOriginsrc:指定源矩形(左上角)的Y轴坐标,坐标以逻辑单位表示。

nHeightSrc:指定源矩形的高度。

crTransparent:源位图中的RGB值当作透明颜色。(用RGB(0,0,0)也就是黑色不行)返回值:如果函数执行成功,那么返回值为TRUE;如果函数执行失败,那么返回值为FALSE。

Windows NT:若想获取更多错误信息,请调用GetLastError函数。

备注:函数TransparentBlt支持4位/像素和8位/像素格式的源位图,使用AlphaBlend可以指定带有透明度的32位/像素格式的位图。如果源和目标矩形的大小不一致,那么将对源位图进行拉伸以与目标矩形匹配,当使用SetStretchBltMode函数时,BLACKONWHITE和WHITEONBLACK两种iStretchMode模式将被转换成TransparentBlt函数的COLORONCOLOR模式。目标设备环境指定了用于目标坐标的变换类型,而源设备环境指定了源坐标使用的变换类型。如果源位图或目标位图的宽度或高度是负数,那么TransparentBlt函数也不对位图进行镜像。

速查:Windows NT:5.0及以上版本;Windows:98及以上版本;Windows CE:Windows CE.NET 4.0 and later;头文件:wingdi.h:库文件:作为一个资源包含在msimg32.dll中。

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.zhongdalong.com/showinfo-1-30519-0.html

(174)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫

如果您有好的建议,请告诉我们。

上一篇 2023-09-12
下一篇 2023-09-11

stretchblt(请教函数TransparentBlt的用法)相关推荐

    22

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
您关注的是众达龙游戏网《stretchblt(请教函数TransparentBlt的用法)》话题,敬请收藏。