1

背景

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

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

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

4

1 回答 1

2

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

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

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

于 2013-03-05T20:29:34.187 回答