私のアプリでは、カメラ機能を使用しており、カメラのすべてが正常に機能するためにオーバーレイビューを使用しています。
問題は、画像を保存しているときに、画像全体を保存したくないので、オーバーレイビュー内に表示している画像だけを保存したいということです。
以下の 2 つの画面の違いを確認してください。
1)オーバーレイビューに表示しているものは次のとおりです。
2)そしてここに私が得ているものがあります:
ありがとう!あらかじめ
UIImagePickerController のオブジェクトを作成
imagePickerController.allowsEditing = YES;
UIImagePickerController のデリゲート メソッドでトリミングされた画像を取得します。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *croppedImg = [info objectForKey:@"UIImagePickerControllerEditedImage"]; }
CGRect rect = self.overlayimage.frame;
UIGraphicsBeginImageContext(CGSizeMake(self.overlayimage.frame.size.width, self.overlayimage.frame.size.height));
// This is where we resize captured image
[(UIImage *)[info objectForKey:UIImagePickerControllerOriginalImage] drawInRect:rect];
captureimage.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();