【问题标题】:.NET Image class loading images incorrectly.NET Image 类错误地加载图像
【发布时间】:2013-03-06 04:36:32
【问题描述】:

背景

我正在使用 Image.FromFile 将 jpeg 加载到应用程序中。该图像在资源管理器、Windows 图像查看器、Photoshop 和其他所有内容中都是纵向的。当我用 Image.FromFile 加载它时,C# 告诉我它处于横向模式(高度和宽度是错误的),所以当我现在尝试操作然后稍后保存图像时,图像的方向错误并且现在被旋转和扭曲,这是不应该的。

问题 有人知道 Image.FromFile 是否注意到 Exif 数据中的方向吗?或者有谁知道可能导致这种情况的任何错误或“功能”?

附言 我只使用m_img = Image.FromFile(file); 并在加载后直接使用visual studio中的手表检查高度和宽度,并在使用克隆将图像转换为位图后通过执行m_out.Save(g_target + "\\" + m_file, m_enc, m_enc_params); 将图像保存回来

【问题讨论】:

  • 你是在加载到m_img后立即检查宽度和高度吗?您如何将其再次保存回来?

标签: c# .net exif


【解决方案1】:

这听起来像 Explorer、Windows 照片查看器和 Photoshop 等程序都尊重相机方向 EXIF 属性,但 GDI 显然没有。

所以实际上,Explorer、WPV 和 Photoshop 实际上是错误的,因为它们没有在存储图像时显示图像,而是在加载后执行图像旋转。

如果建议您使用 EXIF 库来查找旋转属性并在图像加载期间应用合适的转换。

【讨论】:

猜你喜欢
  • 2017-07-21
  • 2011-09-19
  • 1970-01-01
  • 2016-06-23
  • 2015-12-24
  • 1970-01-01
  • 2013-07-28
  • 2012-05-20
  • 2012-10-11
相关资源
最近更新 更多