我有一个BitmapImage
由应用程序本身生成,没有sourceFile或URI
。现在,根据this,我必须将此图片转换为WritableBitmapImage
才能保存。但是所有方法都需要sourceFile或URI。
答案 0 :(得分:1)
事后没有好的方法从BitmapImage中提取像素。
如您所知,如果您有源图像,则可以从中创建WriteableBitmap。
由于WritableBitmap和BitmapImage都是ImageSource,因此在大多数情况下它们可以以相同的方式使用,因此如果您知道在创建BitmapImage时需要访问像素,那么通常可以创建一个WriteableBitmap。
创建BitmapImage并且原始源不再可用后,您可以获得的最接近的是使用RenderTargetBitmap将显示的Image控件渲染为新的位图,您可以使用{{3}从中提取像素}}
这将是第二代图像,对于大图像,可能会丢失数据以调整原始图像和渲染之间的插值。
我建议在生成原始图像时使用WriteableBitmap而不是BitmapImage。