我有一个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];
}