(使用 WinApi)有没有办法:
- 制作透明像素?
- 不知何故,而不是使用透明度,只是让图像动态获取背景颜色和纹理,并用这些纹理填充某些颜色,例如:如果我有一个视频游戏精灵并且它的背景颜色是白色,我可以以某种方式得到那些白色像素并用背景颜色/纹理填充它们?
如果创建 32 位位图,每个像素的 24 位用于 RGB 值,额外的 8 位用于 Alpha 通道。只需将 alpha 设置为 0 即可获得完全透明。
创建使用 24 位或更小的像素的位图时,透明色通常由位图左下角的像素指示。
无论哪种方式,创建透明位图只是等式的一半。创建透明位图本身很容易,但是您必须以透明方式渲染位图。Win32 API 具有用于此目的的TransparentBlt()
功能AlphaBlend()
,并且有大量在线教程和博客来解释如何使用它们。