使用FormatConvertedBitmap从Pbgra32转换到Bgr32像素格式

本文关键字:Bgr32 像素 格式 转换 FormatConvertedBitmap Pbgra32 使用 | 更新日期: 2023-09-27 17:50:59

我很难理解如何使用FormatConvertedBitmap来转换我从Pbgra32Bgr32WriteableBitmap。我正在构建的应用程序最初使用Bgr32,我引入了WriteableBitmapEx(它使用Pbgra32)来翻转图像。现在,我需要从Pbgra32转换回Bgr32,以保持与程序其余部分的一致性。以下是我所拥有的:

FormatConvertedBitmap newFormat = new FormatConvertedBitmap(this.colorBitmap, PixelFormats.Bgr32, null, 0);

…我相信这对转换是正确的。但是,我不确定如何从中检索WriteableBitmap。

使用FormatConvertedBitmap从Pbgra32转换到Bgr32像素格式

您在正确的轨道上,您只需要将其强制转换为WriteableBitmap,以便您可以将其存储为一个。要做到这一点,您必须首先将其强制转换为BitmapSource,然后创建一个新的WriteableBitmap。像这样:

WriteableBitmap yourConvertedPicture = new WriteableBitmap(
   (BitmapSource)(new FormatConvertedBitmap(thePictureToConvert, PixelFormats.Bgr32, null, 0))
);

这也适用于转换为任何其他PixelFormat