【发布时间】:2013-10-10 21:28:36
【问题描述】:
在我正在开发的移动 Web 应用程序中,允许用户使用相机拍照,然后将相机图像上传到服务器。我遇到的问题是,在 iOS 设备上,图像会获得一个与其关联的 EXIF 方向标签,例如“ROTATE 90 CW”。此方向标记会导致图像在显示时以错误的方向显示。例如,如果用户使用 iPhone 纵向拍摄某物,则在服务器上查看时,该图像会旋转为横向。我想使用 VB.Net 在服务器端更正此问题,以便我自动检测 EXIF 方向标签,如果它是“ROTATE 90 CW”(或任何其他会使图像显示不正确的值),然后我想自动将图像旋转到正确的方向。总而言之,我希望服务器上的图像与用户用相机拍照时的样子完全相同。
有人可以发布执行此操作的代码吗?提前致谢。
【问题讨论】:
-
您是否要求提供可能采用 Image 和 RotateFlip 的代码,例如 Rotate90??
-
是的。服务器端的图像是 JPEG 文件的形式,所以我想打开 JPEG 文件,旋转其中的图像,然后使用相同的文件名将旋转后的图像写回 JPEG 文件。这是最基本的操作,但除此之外,我还在 VB.Net 4.5 中寻找一种算法,它可以自动更正它找到的任何带有 EXIF 方向标签的 JPEG 图像,例如上面的。我一直在尝试写这篇文章,但到目前为止都失败了。
-
.NET 不支持 EXIF,因此您必须使用其中一个库来读取该部分的 EXIF 数据。其余的,旋转位图非常简单,并且是 .NET 原生的。
标签: vb.net image orientation exif