Я пытался найти ответ на этот вопрос везде, но не могу найти какую-либо полезную информацию.
По сути, я хочу, чтобы пользователь выбрал изображение из альбома, а затем приложение отобразило изображениев режиме редактирования / обрезки.
На этом экране редактирования я хочу отобразить наложенный экран, который пользователь может использовать для выравнивания своего изображения.
Затем он нажимает кнопку сохранения, которая сохраняет отредактированное изображение вместе с наложенным изображением, простообъединение изображений.
Единственное, что я не могу найти, как это сделать, это добавить наложение изображения на экране редактирования!
Я могу сделать это довольно легко, когда:
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
Но когда:
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
Я не могу использовать:
imagePicker.cameraOverlayView = overlayGraphicView;
и это моя проблема.
Также, если я вместо этого добавляю UIimage как подпредставление, то это наложение остается на экране, даже когда пользователь выбирает свое изображение из альбома.Я хочу, чтобы наложение отображалось только после того, как изображение было выбрано для редактирования и до того, как оно было сохранено в альбом после завершения редактирования.
Спасибо за помощь.
Вот этот метод:
- (IBAction)pickPhotoButton:(id)sender {
NSLog(@"Pick a Current Photo Button Pressed...");
// Create image picker controller
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
// Set source to the camera
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
// Delegate is self
imagePicker.delegate = self;
// Allow editing of image ?
imagePicker.allowsEditing = YES;
// Show image picker
[self presentModalViewController:imagePicker animated:YES];
}
и вот мой метод сохранения в альбом:
// Save the image to photo album
- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
// Access the uncropped image from info dictionary
UIImage *image = [info objectForKey:@"UIImagePickerControllerEditedImage"];
// Combine image with overlay before saving!!
image = [self addOverlayToImage:image];
// Save image
UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
[picker release];
}