【发布时间】:2013-03-28 12:33:40
【问题描述】:
用透明度 GDI C# 替换位图黑色像素
大家好,我正在开发一个渲染精灵的 2d 引擎。我需要用透明度替换位图中的黑色像素;以便看到下面的位图。
这在 GDI+ 中可行吗?如何?因为我一直在尝试使用 ColorMaps & Attributes 并且不能正常工作。
由于它是游戏的 2D 引擎,它是一个高效的库吗?或者我应该使用另一个?
【问题讨论】:
大家好,我正在开发一个渲染精灵的 2d 引擎。我需要用透明度替换位图中的黑色像素;以便看到下面的位图。
这在 GDI+ 中可行吗?如何?因为我一直在尝试使用 ColorMaps & Attributes 并且不能正常工作。
由于它是游戏的 2D 引擎,它是一个高效的库吗?或者我应该使用另一个?
【问题讨论】:
怎么样:
Bitmap bm = new Bitmap(width, height);
bm.MakeTransparent(Color.Black);
GDI+ 并不是游戏的最佳解决方案。到目前为止,您的游戏不需要高性能就可以使用它。但是当它需要一些功能时,你必须使用 OpenGL 或 Direct2D/Direct3D 等库。
【讨论】:
试试:
bmp.MakeTransparent(Color.Black);
就游戏的高效库而言?在大多数情况下,没有。 GDI+ 更多地是为业务线应用程序设计的。
【讨论】: