WPF - Как я сохраняю PNG без какого-либо альфа-канала?

У меня есть a BitmapSource. Я сохраняю его к png как это:

PngBitmapEncoder enc = new PngBitmapEncoder();
enc.Frames.Add(myBitmapSource);
enc.Save(fs);

Как я могу сохранить его без какого-либо альфа-канала?

5
задан Kyle 4 June 2010 в 19:49
поделиться

2 ответа

Используйте FormatConvertedBitmap для преобразования в 24 бита на пиксель перед его кодированием:

var noAlphaSource = new FormatConvertedBitmap
{
  Source = myBitmapSource,
  DestinationFormat = PixelFormats.Rgb24
};

var encoder = new PngBitmapEncoder();
enc.Frames.Add(noAlphaSource);
enc.Save(fs);
3
ответ дан 15 December 2019 в 00:51
поделиться

У растрового изображения 24bpp нет альфа-канала. Поддерживается кодировщиком PNG. Создайте WriteableBitmap с PixelFormats.Rgb24.

1
ответ дан 15 December 2019 в 00:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: