裁剪UIImageView的图像以缩放到填充模式

时间:2012-11-27 04:29:51

标签: objective-c ios cocoa-touch uiimageview crop

我有一个UIImageView,它是按比例填充模式的。现在我想在imageview中裁剪图像。我在此imageview上有一个矩形,用户可以移动并更改大小。选择特定尺寸后,我想使用此框架裁剪图像。但是因为我的uiimageview模式是缩放以填充这个混乱的裁剪矩形和不同的部分被裁剪。有没有人遇到过这个问题。如何正确裁剪?

1 个答案:

答案 0 :(得分:0)

您的选择是计算,或使用此解决方法:

-(UIImage *)imageFromImageView:(UIImageView *)view withCropRect:(CGRect)cropRect
{
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
    [view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage * largeImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

CGImageRef imageRef = CGImageCreateWithImageInRect([largeImage CGImage], cropRect);
UIImage* img = UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
    return img;
}