从Windows Phone 8.1中的Image获取Jpeg属性

时间:2014-10-06 15:57:08

标签: c# windows-phone-8.1

我需要从手机中的图像库中获取的图像中获取Jpeg属性。在另一个XAML项目中,我可以使用

var myImage = System.Drawing.Image.FromStream(myImageStream);
foreach(var imageProperty in myImage.PropertyItems)
     //do things

我应该如何在Windows Phone 8.1中执行此操作?我需要具有Id 274(方向)的属性才能将图像旋转到正确的方向

1 个答案:

答案 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