0

我正在调用 UIImagePickerController 的方法 takePicture 方法来以编程方式使用 iPhone 拍摄图片

但是,我想禁用快门动画,并在拍摄照片时让屏幕保持原样(并禁用声音)。

更新 我现在使用 AVFoundation API 来获取图像,但相机的内容不再显示在屏幕上。我应该初始化一个 UIImagePickerController 只是为了在屏幕上显示相机的内容吗?

谢谢

4

3 回答 3

0

UIImagePickerController 有一些选项,但不是很多。 This other question有一些俗气但可能有效的禁用它的想法。

为了完全控制,您需要使用 AVFoundation API。这是一个捕获示例: https ://developer.apple.com/library/ios/#samplecode/AVCam/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010112

于 2012-06-19T13:42:34.937 回答
0

查看此示例:它使用 AVCaptureSession 和 ImagePicker 从视频中捕获图像。 http://developer.apple.com/library/ios/#samplecode/AVCam/Listings/Classes_AVCamCaptureManager_m.html

还有这个:https ://github.com/jj0b/AROverlayExample

于 2012-06-19T13:44:57.887 回答
-1

我认为这对 3.0 有用

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

    NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
    if ([mediaType isEqualToString:@"public.image"])
    {
        UIImage *selectedImage = [info objectForKey:UIImagePickerControllerOriginalImage];


        UIImage * cameraimage= [self scaleAndRotateImage:selectedImage];

        CGRect rect =CGRectMake(0, 0,640,875);        
        CGImageRef imageRef = CGImageCreateWithImageInRect([selectedImage CGImage], rect);
        UIImage *img = [UIImage imageWithCGImage:imageRef]; 
        CGImageRelease(imageRef); 
        self.captureimage.image=cameraimage;

        NSLog(@"selectedimage width:%f ht:%f",img.size.width,img.size.height);
    }
    [picker dismissModalViewControllerAnimated:YES];
}
于 2012-06-19T13:53:23.893 回答