AlphaBlend 可以在对话框上画出半透明图像
TransparentBlt 可以画出非矩形图像那如果要画出 半透明的非矩形图像,要怎么做
应该怎么组合使用
TransparentBlt 可以画出非矩形图像那如果要画出 半透明的非矩形图像,要怎么做
应该怎么组合使用
解决方案 »
- CListCtrl 的 CheckBox 尺寸特大! @@
- 请问数据库连接因为网络问题断开后要怎么办???????????????????
- 初学com
- 局域网远程开机
- 请问我知道直方图中有三个比较明显的波峰,但不知其确定的位置,该如何找到它们?
- 如何将double 型转化成16进制, 谢谢
- 请问如何查找多线程性能瓶颈
- 请问如何将对话框中的命令按钮在程序运行的过程中灰化(disable)?
- 请问用CSocket编程,是怎么响应OnAccept,OnConnect等消息函数的,由谁发出消息?
- IOCP socket重用
- 没有有办法把media player实时播放的网络广播(如网络收音)录下下?
- 如何做一个服务?
先修改位图(32位),将图形外的Alpha设成0,图形内的Alpha设成你要的透明度
然后在调用AlphaBlend使用位图自身带有的Alpha,就可以了
这是一种方法。另外一种是先按照矩形区域调用AlphaBlend(注意先绘制到一个临时场景中,不要实际绘制到目标场景上),然后获得一个关于透明部分的单色位图掩模,然后调用PlgBlt到目标场景。
BLENDFUNCTION 就是字面理解的意思
我所说的做法需要这样设置它的内容
BlendOp = AC_SRC_OVER;
AlphaFromat = AC_SRC_ALPHA;
BlendFlags = 0;
SourceConstandAlpha = 255;