关于部分手机拍照上传的图片旋转显示的c#解决方案 |
您所在的位置:网站首页 › 苹果12相片自动旋转 › 关于部分手机拍照上传的图片旋转显示的c#解决方案 |
这两天项目里出了一个妖异的问题,就是部分客户上传的图片旋转了90度。 刚开始收到这个反馈,我们都觉得很搞笑,一定是客户图片本身旋转了。。。。 因为这么多年,从没听说过有这种事。 可客户确认上传的图片没有问题后,我们顿时都觉得问题有些大条了。。。。 经过排查,最后确定了,是客户用苹果手机拍照上传导致的。 上网找了一些资料,都只是介绍了图片的相关属性,没有一篇给出解决方案的, 没办法,只能自己探索了。 经过几个来回的调整,现在终于把问题解决了,现把代码贴出来,给大家做个参考: /// /// 移除图片的翻转旋转设置 /// /// 原文件名 /// 新文件名 public static void RemoveRotateFlip(string srcPathName, string newPathName) { Image image = new Bitmap(srcPathName);//初始化图片对象 foreach(var p in image.PropertyItems) { if (p.Id == 0x112) { var rft = p.Value[0] == 6 ? RotateFlipType.Rotate90FlipNone : p.Value[0] == 3 ? RotateFlipType.Rotate180FlipNone : p.Value[0] == 8 ? RotateFlipType.Rotate270FlipNone : p.Value[0] == 1 ? RotateFlipType.RotateNoneFlipNone : RotateFlipType.RotateNoneFlipNone; p.Value[0] = 0; //旋转属性值设置为不旋转 image.SetPropertyItem(p); //回拷进图片流 image.RotateFlip(rft); } } image.Save(newPathName, ImageFormat.Jpeg); //重新保存为正常的图片 image.Dispose(); //释放图片对象资源 File.Delete(srcPathName);//这里是否删除,根据业务需要定 } |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |