我正在尝试将具有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(),那么确保你正在透明的颜色存在于你的图像中。