使用UIImagepickerController的cameraoverlayview来拍照?

3
我正在使用UIImagepickerController从相机拍照。我使用cameraoverlayview属性在相机视图上使用自己的视图。当用户在我的自定义视图上点击按钮时,我想从相机拍照。我正在使用以下代码:
 - (void)viewDidLoad {

imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.sourceType =  UIImagePickerControllerSourceTypeCamera;
    [self presentModalViewController:imagePickerController animated:YES];   
    imagePickerController.showsCameraControls=NO;

imagePickerController.cameraOverlayView = self.customView;

}

- (IBAction) takePicture
{
    [imagePickerController takePicture];
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{

    NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];

    imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

[picker dismissModalViewControllerAnimated:YES];

}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    [self dismissModalViewControllerAnimated:YES];
}

但是当我运行这段代码时,它给了我一个错误。

错误: FigCreateCGImageFromJPEG 返回了 -12905。输入 (null) 是 773625 字节。

我还收到了内存使用级别2和级别1的警告。

imageView 中也没有显示任何图像...有人可以帮我看看我可能做错了什么吗? 顺便说一下,我正在使用安装有 iOS4.1 的 iPhone 3G。


不确定,但可以研究一下UIImage与UIImageView之间的区别。我怀疑这可能与你的[info objectforKey: ... ]调用有关。 - Moshe
实际上didFinishPickingMediaWithInfo甚至没有被调用...我已经为它包含了委托。 - hemant
1个回答

1

UIImagePickerControllerOriginalImage 是一个符号(一个 NSString * 常量),你不能假设它的值。直接使用,不要加引号。除此之外,如果你正确地保留和创建了选择器和图像视图,它应该可以工作。


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