WIN32使用TransparentBlt函数实现绘制透明位图
2022-01-06 20:35 作者:herostears | 我要投稿
背景:最近孩子要做一个垃圾分类的程序,老父亲之前只写过一些WIN32的小程序,因此就以自己有基础的WIN32,参考《逐梦旅程:Windows游戏编程之从零开始》,写了个简单的贴图游戏。之间用到了TransparentBlt函数。
问题:WIN32使用TransparentBlt函数实现绘制透明位图,使用黑色(rgb0.0.0)做透明色,实际未产生透明效果。
可能的疑点:
1.有的博文说使用函数前不能用使用划线画圆等操作;
//实际验证把绘制线段和矩形的操作去除后,问题未解决
2.有的博文说不能使用黑色做透明色。
//根据下述博文(https://www.cnblogs.com/Toya/p/13412093.html)的注意事项,把图片的透明色改为白色(非黑色的其他色应该页可以,我只验证了白色),问题解决。
3.浅墨的书里(逐梦旅程:Windows游戏编程之从零开始)示例用的却是黑色,也成功了。
//原理暂未明确,微软官方文档并未说不能用黑色当透明色,应该还是支持的,但是是什么触发机制有待后续验证。