我有一个UIImageView *userImage,UIImageView *imageSquare其大小为 320x320。用户将能够玩userImage能够改变大小和改变位置。imageSquare是静态的并放置在屏幕中间,应该被视为裁剪视图
下面的代码可以将 userImage 裁剪为imageSquare原始大小,但不能使用其新的纵横比/比例。
我一直在疯狂地尝试这样做,但我找不到办法。如何裁剪当前视图(用户正在操作的视图)userImage?
CGSize pageSize = imageSquare.frame.size;
UIGraphicsBeginImageContext(pageSize);
CGContextRef resizedContext = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(resizedContext, -imageSquare.frame.origin.x, -imageSquare.frame.origin.y);
[userImage.layer renderInContext:resizedContext];
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
if (image != nil) {
NSLog(@"is not nil");
NSData *imgData = UIImagePNGRepresentation(image);
imageSquare.image = [[UIImage alloc]initWithData:imgData];
}