从没有源Windows Phone 8.1 RT的BitmapImage中可写入BitmapImage

本文关键字:BitmapImage RT Windows Phone | 更新日期: 2023-09-27 18:28:33

我有一个BitmapImage,它是由应用程序本身生成的,没有sourceFile或URI。现在,我必须将此图像转换为WritableBitmapImage才能保存它。但是所有的方法都需要sourceFile或URI。

从没有源Windows Phone 8.1 RT的BitmapImage中可写入BitmapImage

没有好的方法可以在事后从BitmapImage中提取像素。

正如你所注意到的,如果你有源图像,那么你可以从中创建一个WriteableBitmap。

由于WritableBitmap和BitmapImage都是ImageSource,它们在大多数情况下可以以相同的方式使用,因此,如果您知道在创建BitmapImage时需要访问像素,则通常可以创建WriteableBitmap。

一旦创建了BitmapImage并且原始源不再可用,您可以使用RenderTargetBitmap将显示的Image控件渲染为新位图,从中可以使用GetPixelData提取像素。

不过,这将是第二代图像,对于大型图像,由于调整原始图像和渲染之间的插值大小,可能会丢失数据。

我建议在生成原始图像时首先使用WriteableBitmap,而不是BitmapImage。