我有一个UIImageView *userImage
尺寸是全屏UIImageView *imageSquare
的,尺寸是 320x320。用户将能够将userImage
其变大,改变位置等imageSquare
是静态的,应该被视为裁剪视图
下面的代码可以裁剪userImage
为imageSquare.frame.size
. 我的问题是它从顶部userImage
而不是从顶部裁剪imageSquare.frame.origin
,这意味着我需要从 X 和 Y 坐标裁剪它。这是我第一次尝试这样做,到目前为止我尝试过的每件事都无法从imageSquare.frame.origin
.
我如何裁剪当前视图(用户正在操作的userImage
视图)imageSquare.frame.origin
?
CGSize pageSize = imageSquare.frame.size;
UIGraphicsBeginImageContext(pageSize);
CGContextRef resizedContext = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(resizedContext, userImage.frame.origin.x, userImage.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];
}