UIImageView
この方法で、下に 1 つ、オーバーレイに 1 つの二重レイヤーを作成します。
UIImage *bottomImage = self.imageView.image;
UIImage *image = self.urlFoto.image;
CGSize newSize = CGSizeMake(640, 640);
UIGraphicsBeginImageContext( newSize );
[bottomImage drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height) blendMode:kCGBlendModeNormal alpha:1.0];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
この後、ピンチ ジェスチャで画像のサイズを変更するメソッドを追加します。
- (IBAction)scaleImage:(UIPinchGestureRecognizer *)recognizer {
recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
recognizer.scale = 1;
}
しかし、フォトライブラリに写真を保存すると、オーバーレイの現在のサイズを取得できず、オーバーレイ (画像) に同じサイズの 640,640 が表示されます。見逃したコードは次のとおりです。
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height) blendMode:kCGBlendModeNormal alpha:1.0];
ピンチ後のCGRectMake(0,0,newSize.width,newSize.height)
現在のサイズを取得する正しい方法を知っていますか?UIImageView