#ios #xcode #image-processing #uiimagepickercontroller
#iOS #xcode #обработка изображений #uiimagepickercontroller
Вопрос:
Я пытаюсь добавить наложение к изображению, снятому с помощью ImagePicker, например, к кадру, показанному во время съемки. Я пытался использовать следующий код:
self.picker = [[UIImagePickerController alloc] init];
self.picker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
self.picker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
self.picker.showsCameraControls = NO;
self.picker.navigationBarHidden = YES;
self.picker.toolbarHidden = YES;
self.picker.wantsFullScreenLayout = YES;
// Insert the overlay
self.overlay = [[OverlayViewController alloc] initWithNibName:@"Overlay" bundle:nil];
self.overlay.pickerReference = self.picker;
self.picker.cameraOverlayView = self.overlay.view;
self.picker.delegate = self.overlay;
[self presentModalViewController:self.picker animated:NO];
Но это помогает при изменении обложки средства выбора изображений. Как я могу добавить и обработать наложение с помощью снимка?
Комментарии:
1. Можете ли вы найти что-нибудь относительно, пожалуйста, помогите
Ответ №1:
Если вам нужно объединить снимок, сделанный с другим UIImageView, который содержит изображение, вот полезный фрагмент:
yourFile.h:
UIImage *combinedImage;
yourFile.m:
-(void)savePicture { // call this method from an IBAction button
// Crop a Combined Image from the taken picture
CGRect rect = [_imagePreview bounds];
UIGraphicsBeginImageContextWithOptions(rect.size,YES,0.0f);
// Render both images, the captured one from the camera and the UIImageView that is over that picture
[__myCapturedImage.layer renderInContext:UIGraphicsGetCurrentContext()];
[_overlayImageView.layer renderInContext:UIGraphicsGetCurrentContext()];
combinedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
_myCapturedImage.image = combinedImage;
// Automatically Save the Image into Photo Album (if you want to do so)
UIImageWriteToSavedPhotosAlbum(combinedImage, nil, nil, nil);
}
Надеюсь, это поможет!
PS: мы создали хороший шаблон, который фактически обрабатывает наложенные изображения (которые являются рамками вокруг изображений) здесь: http://codecanyon.net/item/picshape-frame-image-editor-full-app-template/7852895?ref=fvimagination
Приветствия!
Комментарии:
1. Спасибо за ссылку! Что касается этого — если overlayImageView имеет смещение, при объединении двух изображений из представлений положение наложения возвращается к началу. Как я могу использовать исходное смещение при объединении?