使用cameraOverlayView在UIImagePickerController中裁剪结果

3
当我使用带有cameraOverlayViewUIImagePickerController时,我能否从我的覆盖视图中只获取选择区域? http://tinyurl.com/2fqy9nq

相机叠加视图是哪个类? - Phil
3
@Phil: cameraOverlayView 是图片选择器控制器的一个属性,被简单地公开为一个 UIView:https://developer.apple.com/library/ios/documentation/uikit/reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html#//apple_ref/occ/instp/UIImagePickerController/cameraOverlayView - BoltClock
1个回答

7
  1. 将一个UIImageView作为子视图添加到您的cameraOverlayView中。
  2. 创建一个大小为320x480的黑色PNG图像。在中间剪切一个矩形以产生一个洞(透明像素)。
  3. 将PNG图像分配给UIImageView。

或者,您可以像这样覆盖cameraOverlayView的- (void)drawRect:(CGRect)rect方法(未经测试):

// Request draw context
CGContextRef context = UIGraphicsGetCurrentContext();

// Draw background        
CGContextSetRGBFillColor(context, 0.0f, 0.0f, 0.0f, 1.0f);
CGContextFillRect(context, rect);

// Cut hole
CGContextSetBlendMode(context, kCGBlendModeClear);
CGContextFillRect(context, CGRectMake(40, 40, 100, 100);

我在我的Faces应用程序中做过类似的事情(http://faces.pixelshed.net/)。如果其中某个步骤不清楚,请随时发表评论。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接