如何从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() 等方法的库来访问加载图像中的单个像素。
谢谢
使用WritableBitmap.Pixels。Silverlight for Windows Phone 7 中的像素操作有时会影响性能迟钝 - 考虑使用 XNA。
http://writeablebitmapex.codeplex.com/包含一个GetPixel
方法,听起来就像你需要的一样。
更新
根据你对其他答案的评论,我认为你需要采取不同的方法。2000 像素限制是一种框架限制,旨在尝试通过不包含明显大于屏幕尺寸的框架元素来保持性能。
如果您的图像是 10k x 10k 像素,那么您应该认真考虑从设备上处理它们,然后只将较小的版本或子部分加载到实际设备上。