Vb.net 如何使用System.Drawing.Imaging保存图像而不自动旋转图像?

Vb.net 如何使用System.Drawing.Imaging保存图像而不自动旋转图像?,vb.net,exif,Vb.net,Exif,当我调整图像大小并使用“System.Drawing.Imaging”保存功能保存图像时,它会添加从EXIF数据嵌入的旋转,并将良好的原始图片旋转180度。我试图用另一种格式保存它以删除EXIF数据,但它仍然包含新图片的EXIF旋转。关于如何以缩略图中显示的方向保存图片的任何想法 Private Sub ClearEXIF() Dim Pname As String=无 对于Directory.GetFiles(DlDir)中的每个Fil OK2Go=False 如果文件包含(“jpg”),则O

当我调整图像大小并使用“System.Drawing.Imaging”保存功能保存图像时,它会添加从EXIF数据嵌入的旋转,并将良好的原始图片旋转180度。我试图用另一种格式保存它以删除EXIF数据,但它仍然包含新图片的EXIF旋转。关于如何以缩略图中显示的方向保存图片的任何想法

Private Sub ClearEXIF()
Dim Pname As String=无
对于Directory.GetFiles(DlDir)中的每个Fil
OK2Go=False
如果文件包含(“jpg”),则OK2Go=True
如果文件包含(“jpeg”),则OK2Go=True
如果是OK2Go那么
将bmp变暗为位图=Image.FromFile(Fil)
Pname=GetLastName(Fil)'此函数获取jpg的名称,但不包含路径信息
temp1=拆分(Pname,“.”)
保存(“C:\Temp\Flat\”&temp1(0)&“+”&temp1(1)&.png”,ImageFormat.png)
bmp.Dispose()
如果结束
下一个
MsgBox(“完成”)
端接头

将bmp变暗为位图=新位图(Fil,true)
。顺便说一句,在Directory.GetFiles(DlDir,“*.jp*g”)(如果Fil.Contains()条件一定会失败,请删除
)相同条件下的每个图像文件。这次我直接在一个图片盒中显示bmp,它是颠倒的。原始文件正面朝上。谢谢你的主意!使用
new Bitmap()
方法,图像将从存储的
属性项中剥离(只保留亮度和色度表)。所以,你看到的就是它。请注意,PICTIOBox控件无论如何都不考虑EXIF定位。如果你用一个允许屏幕旋转的设备拍照(例如,手机),这个设备在呈现图像时会考虑方向。如果要旋转物理图像,必须重新绘制(镜像/翻转)。看。那么你认为这张照片是颠倒拍摄的,windows会考虑EXIF方向并将其视为正面朝上吗?我的意思是PictureBox控件不会根据索引
0x112
274
)的PropertyItem中指定的EXIF方向值旋转/翻转图像。有些查看器是这样做的,比如移动电话、平板电脑等旋转设备。如果您想在其中一个查看器中看到图像时旋转和翻转图像,您必须自己旋转/翻转图像,读取PropertyItem的值并应用相应的
RotateFlip
设置。看见