System.Drawing.Image交换了纵向图像的宽度和高度

4

我有一张图片,它的尺寸是1440(宽)x 2560(高),因此它是竖屏。

然而,System.Drawing.Image方法返回的宽度为2560,高度为1440。

我已经尝试了多种方式来获取正确的宽度和高度,但都没有成功,有人能帮忙吗?

FileStream fs = new FileStream(OriginalFileLocation, FileMode.Open);
System.Drawing.Image sourcefile = System.Drawing.Image.FromStream(fs);

抱歉,我无法翻译您的请求。请提供需要翻译的具体内容和格式要求。
System.Drawing.Image source = System.Drawing.Image.FromFile(OriginalFileLocation);

------- other way-------------

Bitmap  upimage1 = new Bitmap(OriginalFileLocation);

我对这里的前提非常怀疑。不过,请阅读[提问]并参观[导览]。 - Ňɏssa Pøngjǣrdenlarp
1
你确定这张图片没有旋转90度吗?当你在图像查看器中打开它时,是否需要点击“旋转”按钮?仅仅因为高度大于宽度并不意味着它是纵向的。 - Ron Beyer
2
这可能是由于使用旋转相机拍摄的原因。例如,来自手机的照片的自动旋转并不是通过实际旋转图像来保存的,而是通过向图像添加EXIF信息来指示图像查看器应该旋转它。您需要以某种方式打开文件中的EXIF信息,并检查其中的旋转标志。 - Nyerguds
感谢您的帮助。我是通过手机拍摄的照片,而且是竖屏。我将照片上传到电脑上后,显示效果还可以。但是当我尝试将其上传到我正在构建的网站时,它似乎被旋转了,虽然我没有进行任何旋转操作,但它就是不对。 - luke
奇怪的是,我有另一张用不同手机拍摄的照片,它的尺寸更大,例如3456宽,4608高,并且是竖向的,但当我将其加载到正在构建的网站上时,它就可以正常显示。 - luke
显示剩余5条评论
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接