2012-09-24 87 views
0

我试图将一个WriteableBitmap保存为PNG,但始终以24位图像(无Alpha通道)结束。使用alpha通道保存PNG

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

回答

0

我设法找到问题:文件被改变了一些地方,并覆盖了初始图像。所以图像的初始保存工作正常。对不起,麻烦!

相关问题