裁剪图像更改 iPhone 中的旋转
Posted
技术标签:
【中文标题】裁剪图像更改 iPhone 中的旋转【英文标题】:Cropping Image changes rotation in iPhone 【发布时间】:2013-01-17 09:39:38 【问题描述】:我在UIImage
上使用了一个简单的裁剪,但是在我们检查最终图像进行裁剪后,它会在 iPhone 中旋转。下面是我用于裁剪的代码。
CGRect visibleRect;
float scale = 1.0f/scrollView.zoomScale;
visibleRect.origin.x = scrollView.contentOffset.x * scale;
visibleRect.origin.y = scrollView.contentOffset.y * scale;
visibleRect.size.width = scrollView.bounds.size.width * scale;
visibleRect.size.height = scrollView.bounds.size.height * scale;
finalImage = imageFromView(displayImageView.image, &visibleRect);
UIImage* imageFromView(UIImage* srcImage, CGRect* rect)
CGImageRef cr = CGImageCreateWithImageInRect(srcImage.CGImage, *rect);
UIImage* cropped = [UIImage imageWithCGImage:cr];
CGImageRelease(cr);
return cropped;
如果我做错了什么,请告诉我。
【问题讨论】:
【参考方案1】:你需要在crpping之后调用这个方法
-(UIImage*)rotateImage:(UIImage*)image
UIGraphicsBeginImageContext(image.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextDrawImage(context, CGRectMake(0 , 0, image.size.width , image.size.height), [image CGImage]);
CGContextRotateCTM (context, radians(90));
CGImageRef cgImage = nil;
cgImage = CGBitmapContextCreateImage(context);
UIImage *img = [UIImage imageWithCGImage:cgImage];
return img;
【讨论】:
嗨,Sachin,所以在从裁剪功能中检索到最终图像后,我需要在上面调用旋转功能。 如果一张图片是横向模式而第二张是纵向模式怎么办。如何知道什么时候旋转什么时候不旋转?以上是关于裁剪图像更改 iPhone 中的旋转的主要内容,如果未能解决你的问题,请参考以下文章