我有一个BitmapSource
。我想把它保存成PNG格式,代码如下:
PngBitmapEncoder enc = new PngBitmapEncoder();
enc.Frames.Add(myBitmapSource);
enc.Save(fs);
如何在没有任何 alpha 通道的情况下保存它?
在编码之前,使用FormatConvertedBitmap
将其转换为每像素24位:
var noAlphaSource = new FormatConvertedBitmap
{
Source = myBitmapSource,
DestinationFormat = PixelFormats.Rgb24
};
var encoder = new PngBitmapEncoder();
enc.Frames.Add(noAlphaSource);
enc.Save(fs);
24bpp位图没有alpha通道。PNG编码器支持此格式。创建一个具有PixelFormats.Rgb24的WriteableBitmap。