我想在我的应用程序中实现一个分层系统,并且正在考虑创建一堆透明位图,向它们添加内容,然后将它们彼此重叠,如何在不将每个像素设置为(0,0 ,0,0)。我使用的是纯win32,不是MFC,谢谢。使用GDI创建透明位图?
8
A
回答
10
透明是什么意思?
如果您正在寻找部分(全部)透明度,那么AlphaBlend是要使用的GDI API。使用alpha加载位图非常棘手 - 基本Windows API支持使用alpha加载位图的唯一格式是32bpp .BMP文件,每个字节的前8位都有一个alpha通道,而较低的字节应该是预乘。
可以使用GDI +加载各种图像格式的alpha - PNG可能是最好的选择,并blit到32bpp DIBSection,所以你可以使用AlphaBlend和普通的GDI函数。
如果你想要一个简单的透明度蒙版而不是一个完整的alpha通道,你可以使用TransparentBlt以及一个颜色键来遮挡位图的区域。
-1
GDI不支持位图和一般透明度。考虑使用GDI+。
相关问题
- 1. 如何使用透明度(使用GDI)创建32位托盘图标?
- 2. 位图转换:创建从透明位图排除透明边的位图
- 3. 使用DrawText与GDI创建字形透明+
- 4. 如何使用GDI绘制透明BMP +
- 5. 使用GDI +位图
- 6. 透明位图
- 7. 创建透明
- 8. GDI - 如何创建和填充位图?
- 9. 带透明位图的GDI + DrawImage()与打印机
- 10. 透明度文本在GDI
- 11. GDI对象HBRUSH半透明
- 12. GDI透明背景C#
- 13. 如何使位图透明?
- 14. 如何创建在GDI模糊/半透明效果笔+
- 15. 使用UpdateLayeredWindow绘制部分透明的GDI +位图到无边框窗口
- 16. 用于创建PNG 8位透明图像的软件?
- 17. 如何在使用透明位图时防止ImageView透明
- 18. 如何从位图创建透明PNG图像?
- 19. 位图转换 - 从B&W源创建透明+黑色图像
- 20. 如何使用wxpython创建半透明/透明矩形?
- 21. 如何使用非透明边框创建透明UIView
- 22. Android使用透明png掩盖位图
- 23. 如何使用半透明色块创建透明gif/png图像?
- 24. 使用im4java创建透明画布
- 25. 如何使用NSBitmapImageRep创建透明度为8位的PNG?
- 26. 创建一个透明的位图和UpdateLayeredWindow
- 27. 如何创建一个新的透明位图?
- 28. 结合位图 - GDI/GDI +?
- 29. 在OpenCV中创建透明图像
- 30. C++:创建从图片的透明度
它排序 - 它支持透明混合一个位图到另一个位图,通过AlphaBlend在位图中使用alpha组件。还有一些奇怪的扩展可以支持Windows中的Aero,这也可以算得上。尽管如此,你是对的。 – 2010-05-05 00:26:17
还有TransparentBlt,但是当使用32位图像(例如指定了透明度的图像)时,AlphaBlend就是要走的路。 – dlanod 2010-05-05 05:44:28