相机会检测手机的方向并将其存储为元数据。因此,高度和宽度将始终相同,并且在 Zune、Picture Viewer 或大多数其他程序中显示时的方向将从元数据中读取。
这是一个解释它并提供 C# 示例代码的资源。特别重要的部分就在底部。要使用它,您将需要这个库(那里也是一个有用的指南):
void OnCameraCaptureCompleted(object sender, PhotoResult e)
{
// figure out the orientation from EXIF data
e.ChosenPhoto.Position = 0;
JpegInfo info = ExifReader.ReadJpeg(e.ChosenPhoto, e.OriginalFileName);
_width = info.Width;
_height = info.Height;
_orientation = info.Orientation;
PostedUri.Text = info.Orientation.ToString();
switch (info.Orientation)
{
case ExifOrientation.TopLeft:
case ExifOrientation.Undefined:
_angle = 0;
break;
case ExifOrientation.TopRight:
_angle = 90;
break;
case ExifOrientation.BottomRight:
_angle = 180;
break;
case ExifOrientation.BottomLeft:
_angle = 270;
break;
}
.....
}