Tuesday, October 25, 2011

custom camera overlay :)

-(void)viewDidLoad{
self.overlayView = [[UIView alloc] init];
    self.overlayView.frame = CGRectMake(0, 0, 320, 480);
   
   
    NSMutableArray *toolButtons = [NSMutableArray arrayWithCapacity:8];
   
    UIBarButtonItem *btn;
   
       
    UIImage *photogallaryBtnImg = [UIImage imageNamed:@"photo-gallery.png"];
    UIBarButtonItem * photogallaryBtn = [[UIBarButtonItem alloc] initWithImage:photogallaryBtnImg style:UIBarButtonItemStylePlain target:self action:@selector(grabImage:)];
    [toolButtons addObject:photogallaryBtn];
    [photogallaryBtn release];
   
    btn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
    [toolButtons addObject:btn];
    [btn release];
   
   
    UIImage *cameraBtnImg = [UIImage imageNamed:@"camera.png"];
    UIBarButtonItem *cameraBtn = [[UIBarButtonItem alloc] initWithImage:cameraBtnImg style:UIBarButtonItemStylePlain target:self action:@selector(camera:)];
    [toolButtons addObject:cameraBtn];
    [cameraBtn release];
   
    btn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
    [toolButtons addObject:btn];
    [btn release];
   
    UIImage *flashImg = [UIImage imageNamed:@"flashlight.png"];
    UIBarButtonItem *flashBtn = [[UIBarButtonItem alloc] initWithImage:flashImg style:UIBarButtonItemStylePlain target:self action:@selector(flashLightBtnPressed:)];
    [toolButtons addObject:flashBtn];
    [flashBtn release];
   
    btn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
    [toolButtons addObject:btn];
    [btn release];
   
    UIImage *crossImg = [UIImage imageNamed:@"camera-cancel.png"];
    UIBarButtonItem *crossBtn = [[UIBarButtonItem alloc] initWithImage:crossImg style:UIBarButtonItemStylePlain target:self action:@selector(crossBtnClicked:)];
    [toolButtons addObject:crossBtn];
    [crossBtn release];
   
   
    toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0,415, 320, 44)];
    toolBar.items = toolButtons;
    NSLog(@"toolBar.items ...%d",[toolBar.items count]);
    toolBar.barStyle = UIBarStyleDefault;
    [self.overlayView addSubview:toolBar];
    [toolBar release];
   
    UIImageView *footimage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"foot.png"]];
    footimage.frame = CGRectMake(80,0,138 ,333);
   
    [footimage setContentMode:UIViewContentModeScaleToFill];
    footimage.backgroundColor = [UIColor clearColor];
    [self.overlayView addSubview:footimage];
   
    [self performSelector:@selector(takePhoto:) withObject:nil afterDelay:0.1];

}

- (void)takePhoto:(id)sender {
    [[UIApplication sharedApplication] setStatusBarHidden:NO];
    self.imgPicker = [[UIImagePickerController alloc] init];
    self.imgPicker.sourceType = UIImagePickerControllerSourceTypeCamera;       
    self.imgPicker.showsCameraControls = NO;
    self.imgPicker.cameraOverlayView = self.overlayView;
    [self presentModalViewController:self.imgPicker animated:YES];
   
    NSLog(@"camera opnnn....");
   
   
}
- (void)camera:(id)sender{
    [self.imgPicker takePicture];
    self.imgPicker.delegate = self;

    NSLog(@"cameraf opnnn....");
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
    image.image = img;   
    NSLog(@"delegate camera");
    [[picker parentViewController] dismissModalViewControllerAnimated:YES];
}

- (IBAction)crossBtnClicked:(id)sender{
    NSLog(@"crossbtn");
    [[self.imgPicker parentViewController] dismissModalViewControllerAnimated:YES];
    [self.tabBarController setSelectedIndex:3];

}
- (IBAction)grabImage:(id)sender  {
    NSLog(@"grabImage");
    [[UIApplication sharedApplication] setStatusBarHidden:NO];
    self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    self.imgPicker.delegate = self;       
    [self presentModalViewController:self.imgPicker animated:YES];
}
- (IBAction)flashLightBtnPressed:(id)sender
{
    if (self.imgPicker.cameraFlashMode == UIImagePickerControllerCameraFlashModeOff) {
        [self.imgPicker setCameraFlashMode:UIImagePickerControllerCameraFlashModeOn];
    }else {
        [self.imgPicker setCameraFlashMode:UIImagePickerControllerCameraFlashModeOff];

    }

}




No comments:

Post a Comment