一个含有Alpha通道的HBITMAP的绘制问题

gamesuwei 2010-03-02 05:39:02
获得了1张含有Alpha通道的HBITMAP,这个Alpha通道的作用就是让位图的背景透明,我应该如何绘制才能让它的背景透明?
直接使用DrawState之类的函数都会将背景色绘制为黑色。
有相关的例子吗? 不甚感激~
...全文
298 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rxf_mpg 2010-03-02
  • 打赏
  • 举报
回复
alpha混合,网上有很多这种代码
wuhuwy 2010-03-02
  • 打赏
  • 举报
回复
也可以用Opengl纹理贴图,当Alpha通道为0时图像就自己透明现实了。
norsd 2010-03-02
  • 打赏
  • 举报
回复
GDI+ 支持32位 bmp 的绘制.
原理和1楼差不多,
gdi+ 很方便就是了.
详细:

Bitmap类:
http://msdn.microsoft.com/en-us/library/ms534420(VS.85).aspx

注意设置 PixelFormat为 PixelFormat32bppARGB
http://msdn.microsoft.com/en-us/library/ms534412(VS.85).aspx

然后用 graphic 画 Bitmap即可.
gamesuwei 2010-03-02
  • 打赏
  • 举报
回复
有例子吗? 能否提供个例子给我 邮箱 suweie_mail@163.com
wuchuncai 2010-03-02
  • 打赏
  • 举报
回复
我一般都是先得到背景的图像数据BUFFER,然后用程序根据Alpha值与前景bmp图的数据叠加好后,再绘制到DC

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧