gpt4 book ai didi

vb.net - 在 vb.net 中更正图像方向服务器端

转载 作者:行者123 更新时间:2023-12-01 06:12:45 25 4
gpt4 key购买 nike

在我正在开发的移动 Web 应用程序中,允许用户使用他们的相机拍照并将相机图像上传到服务器。我遇到的问题是,在 iOS 设备上,图像会获得一个与其关联的 EXIF 方向标签,例如“旋转 90 CW”。此方向标记会导致图像在显示时以错误的方向显示。例如,如果用户使用 iPhone 纵向拍摄某物的照片,则在服务器上查看时,图像似乎已旋转为横向。我想使用 VB.Net 在服务器端更正这个问题,以便我自动检测 EXIF 方向标签,如果它是“ROTATE 90 CW”(或任何其他会使图像显示不正确的值),然后我想自动将图像旋转到正确的方向。总而言之,我希望服务器上的图像与用户用相机拍摄照片时的图像完全一样。

有人可以发布将执行此操作的代码吗?提前致谢。

最佳答案

对于需要此功能的任何人,我基本上在 VB.Net 中使用此代码解决了该问题。我发现这正是我所需要的:

  Public Function TestRotate(sImageFilePath As String) As Boolean
Dim rft As RotateFlipType = RotateFlipType.RotateNoneFlipNone
Dim img As Bitmap = Image.FromFile(sImageFilePath)
Dim properties As PropertyItem() = img.PropertyItems
Dim bReturn As Boolean = False
For Each p As PropertyItem In properties
If p.Id = 274 Then
Dim orientation As Short = BitConverter.ToInt16(p.Value, 0)
Select Case orientation
Case 1
rft = RotateFlipType.RotateNoneFlipNone
Case 3
rft = RotateFlipType.Rotate180FlipNone
Case 6
rft = RotateFlipType.Rotate90FlipNone
Case 8
rft = RotateFlipType.Rotate270FlipNone
End Select
End If
Next
If rft <> RotateFlipType.RotateNoneFlipNone Then
img.RotateFlip(rft)
System.IO.File.Delete(sImageFilePath)
img.Save(sImageFilePath, System.Drawing.Imaging.ImageFormat.Jpeg)
bReturn = True
End If
Return bReturn

End Function

关于vb.net - 在 vb.net 中更正图像方向服务器端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19306564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com