我正在尝试将 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) 的数组,因此我可以测试保存是否有效。有任何想法吗?