我需要从手机中的图像库中获取的图像中获取Jpeg属性。在另一个XAML项目中,我可以使用
var myImage = System.Drawing.Image.FromStream(myImageStream);
foreach(var imageProperty in myImage.PropertyItems)
//do things
我应该如何在Windows Phone 8.1中执行此操作?我需要具有Id 274(方向)的属性才能将图像旋转到正确的方向
答案 0 :(得分:3)
首先确保允许访问应用程序清单中的图片库。
然后这段代码应该有效:
// First get the list of all your pictures in the pictures library
var allMyPictures = await KnownFolders.PicturesLibrary.GetFilesAsync();
// iterate trough your pictures
foreach (var file in allMyPictures)
{
// Get all the properties
var properties = await file.Properties.GetImagePropertiesAsync();
// Get the orientation
var orientation = properties.Orientation;
}
请注意,从手机相机拍摄的照片不会直接保存在照片库中,而是保存在子文件夹中(诺基亚的“相机胶卷”)。如果是你的情况,你需要适应:
// Get the Camera Roll subfolder
var cameraRollFolder = await KnownFolders.PicturesLibrary.GetFolderAsync("Camera Roll");
// Get all the pictures from this specific directory
var allMyPicturesFromCameraRoll = await cameraRollFolder.GetFilesAsync();
此代码已在我的诺基亚635上测试过,但应该适用于任何Windows Phone 8