UIImageView *userImageサイズがフルスクリーンでUIImageView *imageSquare、サイズが 320x320 です。userImageユーザーは、それを大きくしたり、位置を変更したりして遊ぶことができます。imageSquare静的であり、トリミング ビューとして表示されます。
以下のコードuserImageは、imageSquare.frame.size. 私の問題は、 からではuserImageなくの上からトリミングすることですimageSquare.frame.origin。つまり、 X および Y 座標からトリミングする必要があります。これをやろうとするのは初めてで、これまでに試したことはすべてimageSquare.frame.origin.
fromの現在のビュー (ユーザーが操作しているビュー)を切り取るにはどうすればよいですか?userImageimageSquare.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];
}