iPhone自定义相机叠加(加图像处理):操作方法

Fre*_*ins 10 iphone cocoa-touch objective-c uiimagepickercontroller ios5

可能重复:
如何创建自定义摄像头视图,而不是UIImagePickerViewController?

App Store现在提供的许多图像共享应用程序都使用自定义相机,而不是Apple提供的标准相机选择器.

有谁知道创建自定义相机的任何教程或技巧?

Oli*_*ver 36

是的,从代码创建UIImagePickerController,调整其属性,在其上添加叠加层,并与您的控制器一起控制您在该叠加层上的任何内容:自定义控件,叠加图像等...

这给出了这样的东西:

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];
Run Code Online (Sandbox Code Playgroud)

OverlayViewController 是您必须编写的控制器,用于控制添加到叠加层中的所有内容.

pickerReference是您可以保留向相机发送订单的属性.例如,您可以从放置在叠加层上的UIButton的IBAction中调用以下内容:

[self.pickerReference takePicture];
Run Code Online (Sandbox Code Playgroud)

  • @FredCollins:应用效果从delgate方法开始 - (void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info获取拍摄的图像.在那之后,你可以应用无限多种效果......这取决于你做你想做的事情. (3认同)
  • @FredCollins:这真的取决于.OpenGL用于3D效果和/或一些复杂效果.但对于基本的东西,CoreGraphics就足够了.在这里我们输入图像处理,一旦你确切知道你想要什么样的效果,你应该打开另一个问题.还要考虑寻找其他StackExchange网站.一些谈论图像处理. (2认同)