使用FormatConvertedBitmap从Pbgra32转换为Bgr32 PixelFormats

时间:2013-01-06 20:08:44

标签: c# wpf writeablebitmap writeablebitmapex

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

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

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

1 个答案:

答案 0 :(得分:1)

您走在正确的轨道上,您只需将其投射到WriteableBitmap,这样您就可以将其存储为一个。要做到这一点,您必须先将其转换为BitmapSource并创建一个新的WriteableBitmap。所以像这样:

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

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