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

4
我不是很清楚如何使用FormatConvertedBitmap将我从Pbgra32转换为的WriteableBitmap转换为Bgr32。我正在构建的应用程序最初使用了Bgr32,然后我引入了使用Pbgra32的WriteableBitmapEx来翻转图像。现在,我需要将Pbgra32转换回Bgr32以保持与程序的其余部分的一致性。以下是我的代码:
FormatConvertedBitmap newFormat = new FormatConvertedBitmap(this.colorBitmap, PixelFormats.Bgr32, null, 0);

我认为这是正确进行转换的方法。但是,我不确定如何从中检索WriteableBitmap。


你不能通过将 newFormat 传递给 此构造函数 来创建一个新的 WriteableBitmap 吗? - Clemens
1个回答

2

你已经走在正确的道路上了,你需要将其转换为WriteableBitmap以便将其存储为一个。要做到这一点,你需要先将其转换为BitmapSource,然后创建一个新的WriteableBitmap。所以代码应该像这样:

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接