iPhone custom camera overlay( Plus przetwarzanie obrazu): jak to zrobić [duplikat]

Możliwy duplikat:
Jak utworzyć niestandardowy widok kamery zamiast interfejsu UIImagePickerViewController?

[1]} wiele aplikacji do udostępniania obrazów dostępnych obecnie w App Store używa niestandardowej kamery zamiast standardowego selektora kamery dostarczonego przez Apple.

Czy ktoś zna jakieś tutoriale lub wskazówki dotyczące tworzenia niestandardowego aparatu?

Author: Community, 2011-11-10

2 answers

Tak, Utwórz interfejs interfejsu użytkownika z kodu, dostosuj jego właściwości, Dodaj do niego nakładkę, a za pomocą kontrolera steruj, co chcesz na tej nakładce : niestandardowe kontrolki, nakładające się obrazy itp...

To daje coś takiego:

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];

OverlayViewController jest kontrolerem, który musisz zapisać, aby kontrolować wszystko, co dodajesz do nakładki.

pickerReference jest własnością, którą możesz zachować, aby wysyłać zamówienia do kamery. Na przykład, można wywołać następujące z IBAction pochodzące z UIButton umieszczonego na nakładce:

[self.pickerReference takePicture];
 36
Author: Oliver,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-10 02:16:32
 13
Author: Oliver,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-10 01:31:13