.NET映像类加载映像不正确

本文关键字:映像 不正确 类加载 NET | 更新日期: 2023-09-27 18:02:38

背景

我正在使用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);

.NET映像类加载映像不正确

将其保存回

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

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

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