【问题标题】:Rotating Image by updating its Metadata or EXIF information通过更新其元数据或 EXIF 信息来旋转图像
【发布时间】:2011-11-02 04:41:01
【问题描述】:

我正在开发图像处理实用程序。要求是通过更新其元数据(exif 信息)来旋转图像。我试图做同样的事情,但没有成功。请提出一些建议?

【问题讨论】:

  • 我很确定您不能仅通过更改其 exif 数据来旋转图像。
  • 同意,EXIF 只是元数据。它不会影响图像向用户显示的方式,除非打开程序专门寻找它。
  • @Mudd'Dib - 知道怎么做吗?
  • @Kevin - 实际上这些图像是由数码相机拍摄的。现在在上传到服务器时,我想将它们旋转到实际方向,以便用户可以以正确的方向查看图像。知道如何实现吗?
  • 我被这个不知道的 EXIF 数据包含方向信息所吸引。这个描述一下,很有意思:impulseadventure.com/photo/exif-orientation.html

标签: c# asp.net-mvc-3 metadata jpeg exif


【解决方案1】:

据我了解,您不希望实际转换图像并旋转它的像素数据,而是“显示”它旋转。

我以前从未想过这个问题,也不熟悉 EXIF 等。但在我的脑海中。

在浏览器中显示方向

真正棘手的一点是在浏览器中显示它。

这里有几个功能请求,讨论了在浏览器中的方向性:

火狐: https://bugzilla.mozilla.org/show_bug.cgi?id=298619

铬: http://code.google.com/p/chromium/issues/detail?id=56845

我还没有完全阅读这些请求,所以我不确定它们的确切状态,但对你来说可能是有趣的阅读。

获取 EXIF 数据

如果浏览器不支持内置的 EXIF 方向(它可能不支持),首先您需要获取 EXIF 数据,您可以通过查看从中提取的原始二进制数据来执行此客户端服务器...

但我猜在服务器端做会容易得多。

这是一个用于获取 EXIF 数据的 c# 库http://www.codeproject.com/KB/graphics/exifextractor.aspx 诚然我没找到,在这里讨论过:How to get the EXIF data from a file using C#

你也可以

  • 通过服务器端代码手动旋转它(实际上是操纵像素 - 可能有很多库可以做到这一点,可能内置在 .net 中)
  • 使用 Flash 旋转它(事实上我认为 Flash 可能可以直接读取 EXIF)
  • 使用 HTML 画布旋转(可能使用 jquery rotate 或类似的东西)

【讨论】:

    【解决方案2】:

    这将不得不使用手动过程完成,而不是 EXIF 数据。

    手动是指移动像素。您可以在线找到有关如何使用帮助程序类(可能是 .NET 框架)来执行此操作的示例,具体取决于您所开发的平台。

    示例:http://www.switchonthecode.com/tutorials/csharp-tutorial-image-editing-rotate

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多