如何从WP7上的JPG文件中获取位图数据

本文关键字:获取 位图 数据 文件 JPG WP7 上的 | 更新日期: 2023-09-27 17:48:54

是否有任何库可以帮助我从WP7上的手机媒体库中加载的JPG文件中获取单个像素?我需要访问单个像素,但现在我只能将整个文件放入字节数组或通过内存流访问这些字节。有什么想法吗?我找到了 FJcore,但由于反射我无法使用它......

这是我得到的:

byte[] contents = new byte[e.ChosenPhoto.Length];
MemoryStream fullFileStream = new MemoryStream();
int bytes;
while ((bytes = e.ChosenPhoto.Read(contents, 0, contents.Length)) > 0)
{
    fullFileStream.Write(contents, 0, bytes);
}

我需要一些带有 GetPixels() 等方法的库来访问加载图像中的单个像素。

谢谢

如何从WP7上的JPG文件中获取位图数据

使用WritableBitmap.Pixels。Silverlight for Windows Phone 7 中的像素操作有时会影响性能迟钝 - 考虑使用 XNA。

http://writeablebitmapex.codeplex.com/包含一个GetPixel方法,听起来就像你需要的一样。

更新
根据你对其他答案的评论,我认为你需要采取不同的方法。2000 像素限制是一种框架限制,旨在尝试通过不包含明显大于屏幕尺寸的框架元素来保持性能。

如果您的图像是 10k x 10k 像素,那么您应该认真考虑从设备上处理它们,然后只将较小的版本或子部分加载到实际设备上。