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