-1

I reach a camera class in ios. The ADMSImageUploader.h is as follows

#import <UIKit/UIKit.h>
#import <MobileCoreServices/MobileCoreServices.h>
#import <AssetsLibrary/AssetsLibrary.h>

@interface ADMSImageUploader : UIViewController <UIImagePickerControllerDelegate,UINavigationControllerDelegate>

@property BOOL newMedia;
@property (weak, nonatomic) IBOutlet UIImageView *previewImage;

- (IBAction)returnButtonClicked:(id)sender;
- (IBAction)retakeButtonClicked:(id)sender;
- (IBAction)uploadButtonClicked:(id)sender;


-(void)openCamera:(NSString *)dealerId : (NSString *)inventoryId;

@end

the code in the .m file is as follows. there is a function below which opens the camera

-(void)useCamera{
     if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera])
{
    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.delegate = self;
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePicker.mediaTypes = @[(NSString *) kUTTypeImage];
    imagePicker.allowsEditing = NO;
    [self presentViewController:imagePicker animated:YES completion:nil];
    _newMedia = YES;
}

}

here is the image of the camera

camera image

i would like to prevent the screen below from appearing and display the captured image in to image view

prevent this screen from appearing

thank you for the help.

jrturton
  • 115,427
  • 31
  • 248
  • 263
user2541457
  • 71
  • 1
  • 8
  • [This](http://stackoverflow.com/questions/2300616/iphone-sdk-how-to-disable-the-picture-preview-in-uiimagepickercontroller) may help you. – Akhilrajtr Jan 10 '14 at 06:36

2 Answers2

0

Use this code.

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage* Image = [info valueForKey:@"UIImagePickerControllerOriginalImage"];
    [self previewImageOverlayView:Image];    
}

-(void)previewImageOverlayView :(UIImage *)captureImage
{
    CGRect deviceRect= [UIScreen mainScreen].bounds;
    float screenHeight=deviceRect.size.height;

    UIView *previewImageOveraLayView=[[UIView alloc] initWithFrame:deviceRect];
    [previewImageOveraLayView setAutoresizesSubviews:NO];

    UIImageView *previewImage=[[UIImageView alloc] init];
    [previewImage setContentMode:UIViewContentModeScaleAspectFill];
    [previewImage setFrame:CGRectMake(0,0,320,screenHeight-60)];
    [previewImage setImage:captureImage];
    [previewImageOveraLayView addSubview:previewImage];

    UIButton *retakeBtn=[UIButton buttonWithType:UIButtonTypeCustom];
    [retakeBtn addTarget:self action:@selector(useOrRetakeBtnPress:) forControlEvents:UIControlEventTouchUpInside];
    [retakeBtn setBackgroundColor:[UIColor blackColor]];
    [retakeBtn setTitle:@"Retake" forState:UIControlStateNormal];
    [retakeBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [retakeBtn setFrame:CGRectMake(0,screenHeight-60,160,60)];
    [previewImageOveraLayView addSubview:retakeBtn];


    UIButton *useBtn=[UIButton buttonWithType:UIButtonTypeCustom];
    [useBtn setTag:2000];
    [useBtn addTarget:self action:@selector(useOrRetakeBtnPress:) forControlEvents:UIControlEventTouchUpInside];
    [useBtn setBackgroundColor:[UIColor blackColor]];
    [useBtn setTitle:@"Use" forState:UIControlStateNormal];
    [useBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [useBtn setFrame:CGRectMake(160,screenHeight-60,160,60)];
    [previewImageOveraLayView addSubview:useBtn];


    [imagePicker.view addSubview:previewImageOveraLayView];
}
-(IBAction)useOrRetakeBtnPress:(UIButton*)sender
{
    [sender.superview removeFromSuperview];
}
Rajneesh071
  • 30,084
  • 13
  • 60
  • 74
0

You can use AVCapturSession instead of UIImagePickerController. You can play with it and use it as you want.

For more details on this Visit Apple sample code for this

पवन
  • 3,084
  • 1
  • 23
  • 31