有没有办法使bmps透明?

时间:2013-07-18 18:11:46

标签: c++ winapi bmp

(使用WinApi)有没有办法:

  1. 制作透明像素?
  2. 不管怎样,不要使用透明度,只需让图像动态获取背景颜色和纹理,然后用这些纹理填充某些颜色,例如:如果我有一个视频游戏精灵,它的背景颜色是白色,我可以不知何故得到那些白色像素并用背景颜色/纹理填充它们?

1 个答案:

答案 0 :(得分:2)

如果创建32位位图,则每个像素的24位用于RGB值,额外的8位用于alpha通道。只需将alpha设置为0即可获得完全透明度。

创建使用24位或更小像素的位图时,透明色通常由位图左下角的像素指示。

无论哪种方式,创建透明位图只是方程式的一半。创建透明位图本身很简单,但您必须以透明的方式呈现位图。 Win32 API具有TransparentBlt()AlphaBlend()功能,并且有很多在线资料和博客可以解释如何使用它们。