你什么意思,让P2的透明部分滤掉然后叠加在前面的图上面吗?方法很多,最简单的方式是使用GDI的TransparentBlt函数。或者用两次BitBlt进行位运算也行。或者MaskBlt也行。以上API的用法都可以在MSDN上查到,其中下面两个的VB声明可以在VB6的API浏览器中找到,前面TransparentBlt的我在这里给个声明吧:Public Declare Function TransparentBlt Lib "msimg32" (ByVal hDestDC As Long, _ ByVal xDest As Long, _ ByVal yDest As Long, _ ByVal nWidthDest As Long, _ ByVal nHeightDest As Long, _ ByVal hSrcDC As Long, _ ByVal xSrc As Long, _ ByVal ySrc As Long, _ ByVal nWidthSrc As Long, _ ByVal nHeightSRC As Long, _ ByVal crTransparent As Long) As Long ————————————————————悉清凯——TransparentBlt从WinNT开始就已经被支持了,算是很老的API,要搞新的甚至可以用GDI+,那里面的DrawImage才叫功能全面,AlphaBlend和ColorMatrix都支持。TransparentBlt的用法和BitBlt或者PaintPicture差不多,唯一注意的是最后一个参数,它要求你指定透明色,即图像中应该被滤掉的颜色。你的GIF需要做一个处理,因为真正的系统中并不存在“透明”这种颜色,因此你需要把把GIF透明正困的部分换成一种不常用的颜色(保证图片中其它部分没有这个颜色),然后把这个颜色指定给TransparentBlt的最后一个参数就可以了。 ————————————————————————TransparentBlt,你就可以理解为一个睁唤PaintPicture,不过它对于源图像中你指定的颜色不予绘制,当然绘制到目标上面的时候不予绘制的那部分就保持了原来的样子,这样就实现了透明的效果。很多2D游戏很常用这个API的。
相关文章
-
top it me图片网站 突然进不去了 火狐、360、ie都进不去,说是连接被重置 请问是怎么回事 用手机能打开
2023-04-21 05:14 阅读(603) -
帮助我一下吧,360安全浏览器打开之后显示se:blank,之前我打开了qq群上的一个广告图片
2023-04-21 00:46 阅读(591) -
我的电脑启动项里有个run.vbs怎么删除原文件
2023-04-20 18:42 阅读(593)
1 2010TVB万千星辉颁奖典礼获奖名单
605 阅读
2 TVB《铁嘴银牙》剧情介绍
554 阅读
3 怎样给图片换发型
616 阅读
4 Msvbvm60.dll是什么意思
598 阅读
5 TVBT日菁论坛的日剧字幕发布区的地址是什么?
617 阅读