在框架中打开iPhone相机

时间:2012-07-22 04:39:34

标签: iphone objective-c ios camera frame

我想在相框中打开iPhone相机。其实我的心形图像。所以我想在这张图片中打开相机。所以请任何人建议我如何做到这一点。

由于

2 个答案:

答案 0 :(得分:2)

以下是通过单击相机获取带框图像的步骤:

1打开一个包含心形框架切割图像的视图。

UIImage *image = [UIImage imageNamed:@"myimage.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake( 0, 0, cell.frame.size.width, cell.frame.size.height );
imageView.contentMode = UIViewContentModeScaleToFill;

2在剪切心形图像下面调用相机覆盖图,使用相机拍摄图像。

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsImageEditing = YES;
picker.sourceType = (sender == takePictureButton) ? UIImagePickerControllerSourceTypeCamera :
UIImagePickerControllerSourceTypeSavedPhotosAlbum;
[self presentModalViewController: picker animated:YES];
[picker release];

3单击图像,让图像视图在那里并启用捕捉的图像可编辑。

4然后拍摄带有心形图像视图的屏幕截图,根据您的要求获取图像。

UIGraphicsBeginImageContext(webview.frame.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);

答案 1 :(得分:0)

UIImagePickerController具有cameraOverlayView属性。我没有尝试过,但我想你可以添加一个UImageView作为其子视图,使用带有alpha通道的图像来屏蔽你不希望相机显示的区域。

为什么不尝试一下并报告它的工作原理。

  

cameraOverlayView

     

显示在默认图像选择器顶部的自定义视图   接口。 @property(非原子,保留)UIView * cameraOverlayView   讨论

     

您可以使用叠加视图在顶部显示自定义视图层次结构   默认图像选择器界面。图像选择器分层你的   自定义叠加视图位于其他图像选择器视图和   将其相对于屏幕坐标定位。如果你有   默认相机控件设置为可见,包含透明度   进入你的视图,或定位它以避免模糊底层   内容。