我正在使用CameraCaptureTask选择器并且总是返回原始的较小的照片.相机的分辨率为2592×1944,但返回的照片始终为1296×972.我正在使用LG E-900.
有任何想法吗 ?
有任何想法吗 ?
解决方法
在
Windows Phone上加载到BitmapImage对象的任何JPG或PNG图像文件将自动为
re-sized to be less than 2000×2000,以减少用于将图像显示到屏幕的内部存储器.如果必须以更高的分辨率访问图像,则需要访问原始字节流(例如,来自已完成事件的e.ChosenPhoto),然后将其加载到
System.Windows.Media.Imaging.WriteableBitmap对象中.
然后问题就是您可能需要知道图像的原始大小,因为WriteableBitmap将大小和宽度作为其构造函数的一部分,并将自动重新调整您尝试并加载到其中的图像的大小.我认为以其原始大小加载高分辨率图像的唯一方法是在字节流上使用ExifLib来检测原始高度和宽度,然后创建该大小的WriteableBitmap并使用 System.Windows.Media.Imaging – Extensions.LoadJpeg方法将图像加载到对象中.有关更多图像加载样本,请参阅有关re-sizing an image on Windows Phone的此问题.