У меня есть a BitmapSource
. Я сохраняю его к png как это:
PngBitmapEncoder enc = new PngBitmapEncoder();
enc.Frames.Add(myBitmapSource);
enc.Save(fs);
Как я могу сохранить его без какого-либо альфа-канала?
Используйте FormatConvertedBitmap
для преобразования в 24 бита на пиксель перед его кодированием:
var noAlphaSource = new FormatConvertedBitmap
{
Source = myBitmapSource,
DestinationFormat = PixelFormats.Rgb24
};
var encoder = new PngBitmapEncoder();
enc.Frames.Add(noAlphaSource);
enc.Save(fs);
У растрового изображения 24bpp нет альфа-канала. Поддерживается кодировщиком PNG. Создайте WriteableBitmap с PixelFormats.Rgb24.