我有BitmapSource
。我把它保存到这样的png:
PngBitmapEncoder enc = new PngBitmapEncoder();
enc.Frames.Add(myBitmapSource);
enc.Save(fs);
如何在没有任何Alpha通道的情况下保存它?
答案 0 :(得分:3)
在编码之前,使用FormatConvertedBitmap
转换为每像素24位:
var noAlphaSource = new FormatConvertedBitmap
{
Source = myBitmapSource,
DestinationFormat = PixelFormats.Rgb24
};
var encoder = new PngBitmapEncoder();
enc.Frames.Add(noAlphaSource);
enc.Save(fs);
答案 1 :(得分:1)
24bpp位图没有alpha通道。由PNG编码器支持。使用PixelFormats.Rgb24创建一个WriteableBitmap。