0

我正在尝试将 WriteableBitmap 保存为 png,但总是以 24 位图像(无 alpha 通道)结束。

WriteableBitmap image = new WriteableBitmap(100, 100, 600, 600, PixelFormats.Bgra32, null);
int stride = image.PixelWidth * image.Format.BitsPerPixel / 8;
image.WritePixels(new System.Windows.Int32Rect(0, 0, image.PixelWidth, image.PixelHeight), emptyArray, stride, 0);

FileStream filestream = new FileStream(imageSrc, FileMode.Create);
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create((image)));
encoder.Save(filestream);

emptyArray 是一个所有像素为 (255, 0, 0, 0) 的数组,因此我可以测试保存是否有效。有任何想法吗?

4

1 回答 1

0

我设法找到了问题:文件在其他地方被更改并覆盖了初始图像。所以图像的初始保存工作正常。麻烦您了!

于 2012-09-24T12:04:38.850 回答