我正在尝试将具有transparency的位图类保存为具有transparency的png文件。
我运气不好。
位图具有透明性,但不具有透明性。
这就是我要做的
位图设置

Bitmap ret = new Bitmap(bWidth, bHeight, System.Drawing.Imaging.PixelFormat.Format32bppArgb);

节约
ret.Save(filename, ImageFormat.Png);

我还尝试用一个文件流保存文件,这没有什么区别。
当图像在图片框中时,透明性存在,但是当我保存时,我只得到黑色背景。
我真的不想使用任何第三方代码,他们找到了一种方法,我也想。
谢谢。

最佳答案

是否确定位图的像素格式为system.drawing.imaging.pixel format.format32bppargb?我只是偶然发现这个问题,因为我有同样的问题,但这是因为我正在加载一个图像,没有阿尔法成分的像素格式。我做的

    Bitmap output = original.Clone(rect, System.Drawing.Imaging.PixelFormat.Format32bppArgb);

它正确地保存了带有alpha组件的png。
另外,如果你使用的是MaPuxEngutter(),那么确保你正在透明的颜色存在于你的图像中。

07-24 09:47
查看更多