前面发了一篇文,做的图片剪裁,在用的时候呢会出现这样的问题,
在这个代理方法里面
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
我们获取的图片类型为 UIImagePickerControllerOriginalImage
然后呢。。。。
我们想要的效果是这样的,然而.....
躺着的我马.jpg得到的结果是这样的,我想表达的大概就是这个意思,你就想这站立和左边侧躺的感觉吧。
so..................................................
肿么办呢,你只需要这样这样
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
// NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
UIImage *image;
//我们进行这样的处理
image = [self turnImageWithInfo:info];
//下面的就....
}
- (UIImage *)turnImageWithInfo:(NSDictionary<NSString *,id> *)info {
UIImage *image=[info objectForKey:UIImagePickerControllerOriginalImage];
//类型为 UIImagePickerControllerOriginalImage 时调整图片角度
NSString *type = [info objectForKey:UIImagePickerControllerMediaType];
if ([type isEqualToString:@"public.image"]) {
UIImageOrientation imageOrientation=image.imageOrientation;
if(imageOrientation!=UIImageOrientationUp) {
// 原始图片可以根据照相时的角度来显示,但 UIImage无法判定,于是出现获取的图片会向左转90度的现象。
UIGraphicsBeginImageContext(image.size);
[image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
}
return image;
}
试试吧,这样杂家的龙马就✧(≖ ◡ ≖✿)。
网友评论