UIImage *tempImage = [UIImage imageWithCGImage:imageRef];
NSLog(@"--- %d",tempImage.imageOrientation);
//需要按照旋转后的方向重置图片的方向
UIImage *croppedImage = [UIImage imageWithCGImage:imageRef scale:1.0 orientation:UIImageOrientationRight];
NSLog(@"--- %d",cropped.imageOrientation);
CGImageRelease(imageRef);
//获得图片的data
NSData *data = UIImageJPEGRepresentation(croppedImage, 0.5);
这个时候把data上传到服务器,返回的链接找到的图片始终是up方向的,这是为什么!上传图片之前我已经修改图片的方向了啊
备注:安卓的同事,旋转之后上传图片就是正常的,这个应该是我们客户端的问题吧!
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
应该是 NSData *data = UIImageJPEGRepresentation(newImage, 0.5); 吧
之前碰到过这个问题,是UIImageJPEGRepresentation方法造成的。
你自己回答的是一种解决方案,还有一种方案,在上传到云服务时带着方向参数。
比如我用又拍云的iOS sdk(form api),只需要把x-gmkerl-rotate参数设置为auto即可(默认为空)
如果你在意图片的方向, 并试图对其做出改变, 请查阅图像文件的
Exif数据. 然后对其中的方向做出辅助调整.顺便赞一下
markdown文档支持