一尘不染

读取JPEG元数据时出现问题(方向)

c#

我有一个在iPhone上拍摄的JPEG图像。在我的台式机(Windows Photo Viewer,Google Chrome等)上,方向不正确。

我正在使用ASP.NET MVC 3 Web应用程序,需要在其中上传照片(当前使用plupload)。

我有一些服务器端代码来处理图像,包括读取EXIF数据。

我尝试读取PropertyTagOrientationEXIF元数据中的字段(使用GDI-
Image.PropertyItems),但是该字段不存在。

因此,它可能是一些特定的iPhone元数据,也可能是其他一些元数据。

我使用了另一个工具,例如Aurigma Photo Uploader,它可以正确读取元数据并旋转图像。它是如何做到的?

是否有人知道Aurigma使用的其他JPEG元数据还可以包含所需的信息以便知道需要旋转吗?

这是我用来读取EXIF数据的代码:

var image = Image.FromStream(fileStream);

foreach (var prop in image.PropertyItems)
{
   if (prop.Id == 112 || prop.Id == 5029)
   {
      // do my rotate code - e.g "RotateFlip"
      // Never get's in here - can't find these properties.
   }
}

有任何想法吗?


阅读 287

收藏
2020-05-19

共1个答案

一尘不染

您似乎忘记了所查找的方向ID值是十六进制的。如果使用112,则应使用0x112。

本文介绍了如何Windows
ballsed上方向移交,而这一次似乎你在做什么很重要。

2020-05-19