0

サイズが 320x320のUIImageView *userImageとがあります。UIImageView *imageSquareユーザーは、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];

    }
4

1 に答える 1