Как добавить наложение в средство выбора изображений в iOS

#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 имеет смещение, при объединении двух изображений из представлений положение наложения возвращается к началу. Как я могу использовать исходное смещение при объединении?