0

我需要在图像显示之前对其进行灰度化。图片来自服务器。我使用BitmapImage作为SourceImage。我可以使用BitmapImage显示图像。

现在我需要对图像进行灰度化,因为我发现可以使用 WritableBitmap 将其转换为灰度。我将WritableBitmapEx.WinRT库用于灰度。

但问题是我无法在 WinRT 中将BitmapImage 转换为 WritableBitmap

欢迎任何建议。

谢谢

4

1 回答 1

0

首先使用 WriteableBitmap 而不是 BitmapImage。除了访问 PixelBuffer 之外,它们的使用几乎相同。

您不能直接从 BitmapImage 中提取像素。所有将 BitmapImage “转换”为 WritableBitmap 的合理方法都从原始源获取数据。如果您无法获得原始 UriSource(因为您是从流中加载的)并且没有可用于重新加载的流,那么您就不走运了。

唯一的其他(丑陋)选项是使用 RenderTargetBitmap 对图像进行快照

于 2016-03-19T19:19:47.853 回答