私はカメラアプリに取り組んでいます。UIImagePickerControllerを使用して画像をキャプチャしています。その後、画像をギャラリーに保存する前に、画像をトリミングしたいので、トリミングした画像をギャラリーに保存する必要があります。
私はグーグルで検索しました、私はギャラリーから画像を選んでからトリミングするためのサンプルを見つけましたが、これは私の要件ではありません。チュートリアル/サンプルコードを完了した場合は、リンクを投稿してください。よろしくお願いします。
私はカメラアプリに取り組んでいます。UIImagePickerControllerを使用して画像をキャプチャしています。その後、画像をギャラリーに保存する前に、画像をトリミングしたいので、トリミングした画像をギャラリーに保存する必要があります。
私はグーグルで検索しました、私はギャラリーから画像を選んでからトリミングするためのサンプルを見つけましたが、これは私の要件ではありません。チュートリアル/サンプルコードを完了した場合は、リンクを投稿してください。よろしくお願いします。
pust isallowediting = yes; ギャラリーからキャプチャして選択した画像も編集できるように、ピッカー用
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.delegate = self;
picker.isallowediting = yes;
これらがあなたを助けることを願っています
imagePickerController メソッドでこのコードを使用して、キャプチャした画像をトリミングします。それは私にとってはうまくいっています。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[_imagePickerControllerInstance dismissModalViewControllerAnimated:YES];
UIImage *_pickedAvatar = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
UIImage *croppedImage = [self cropImage:_pickedAvatar andFrame:CGRectMake(0, 0, 250, 250)];
// croppedImage : U can use this cropped image for saving in gallery.
}
- (UIImage *)cropImage:(UIImage*)image andFrame:(CGRect)rect {
//Note : rec is nothing but the image frame which u want to crop exactly.
rect = CGRectMake(rect.origin.x*image.scale,
rect.origin.y*image.scale,
rect.size.width*image.scale,
rect.size.height*image.scale);
CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], rect);
UIImage *result = [UIImage imageWithCGImage:imageRef
scale:image.scale
orientation:image.imageOrientation];
CGImageRelease(imageRef);
return result;
}
そうしないと
この質問を参照してください。
UIImageカテゴリを使用し、画像をトリミングする必要がある場所で使用します。
@implementation UIImage (Crop)
- (UIImage *)crop:(CGRect)rect {
rect = CGRectMake(rect.origin.x*self.scale,
rect.origin.y*self.scale,
rect.size.width*self.scale,
rect.size.height*self.scale);
CGImageRef imageRef = CGImageCreateWithImageInRect([self CGImage], rect);
UIImage *result = [UIImage imageWithCGImage:imageRef
scale:self.scale
orientation:self.imageOrientation];
CGImageRelease(imageRef);
return result;
}
@end