Created
November 27, 2012 18:37
-
-
Save anonymous/4156115 to your computer and use it in GitHub Desktop.
Image Capture
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// CameraMainViewController.h | |
// HSN | |
// | |
// Created by John Anderson on 11/26/12. | |
// Copyright (c) 2012 John Anderson. All rights reserved. | |
// | |
#import <UIKit/UIKit.h> | |
@interface CameraMainViewController : UIViewController<UIImagePickerControllerDelegate,UINavigationControllerDelegate>{ | |
} | |
@property (weak, nonatomic) IBOutlet UIView *cameraContainer; | |
#define CAMERA_TRANSFORM_X 1 | |
#define CAMERA_TRANSFORM_Y 1.24299 | |
// iPhone screen dimensions: | |
#define SCREEN_WIDTH 320 | |
#define SCREEN_HEIGTH 548 | |
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// CameraMainViewController.m | |
// HSN | |
// | |
// Created by John Anderson on 11/26/12. | |
// Copyright (c) 2012 John Anderson. All rights reserved. | |
// | |
#import "CameraMainViewController.h" | |
#import "Overlay.h" | |
#import "AddNewCardController.h" | |
@interface CameraMainViewController () | |
@end | |
UIImagePickerController *picker; | |
Overlay *overlay; | |
UIButton *overlayButton; | |
@implementation CameraMainViewController | |
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil | |
{ | |
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; | |
if (self) { | |
// Custom initialization | |
} | |
return self; | |
} | |
- (void)viewDidLoad | |
{ | |
[super viewDidLoad]; | |
// Do any additional setup after loading the view. | |
} | |
- (void)didReceiveMemoryWarning | |
{ | |
[super didReceiveMemoryWarning]; | |
// Dispose of any resources that can be recreated. | |
} | |
- (void) viewDidAppear:(BOOL)animated { | |
Overlay *overlay = [[Overlay alloc] initWithFrame:CGRectMake(0, 0, 320, 580)]; | |
picker = [[UIImagePickerController alloc] init]; | |
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){ | |
[picker setSourceType:UIImagePickerControllerSourceTypeCamera]; | |
picker.delegate = self; | |
picker.showsCameraControls = NO; | |
picker.navigationBarHidden = YES; | |
picker.wantsFullScreenLayout = YES; | |
picker.cameraViewTransform = CGAffineTransformScale(picker.cameraViewTransform, CAMERA_TRANSFORM_X, CAMERA_TRANSFORM_Y); | |
picker.cameraOverlayView = overlay; | |
overlayButton = [UIButton buttonWithType:UIButtonTypeCustom]; | |
[overlayButton setFrame:CGRectMake(0, 0, 320, 455)]; | |
[overlayButton addTarget:self action:@selector(scanButtonPressed) forControlEvents:UIControlEventTouchUpInside]; | |
[picker.view addSubview:overlayButton]; | |
}else{ | |
[picker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; | |
} | |
[self presentViewController:picker animated:YES completion:nil]; | |
[super viewDidAppear:YES]; | |
} | |
-(void)scanButtonPressed{ | |
[self imagePickerControllerDidCancel:picker]; | |
} | |
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)imagePicker | |
{ | |
[imagePicker dismissViewControllerAnimated:YES completion:^{ | |
AddNewCardController *_add = [[AddNewCardController alloc] init]; | |
_add.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; | |
[self presentViewController:_add animated:YES completion:nil]; | |
}]; | |
} | |
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// Overlay.h | |
// HSN | |
// | |
// Created by John Anderson on 11/26/12. | |
// Copyright (c) 2012 John Anderson. All rights reserved. | |
// | |
#import <UIKit/UIKit.h> | |
@interface Overlay : UIView | |
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// Overlay.m | |
// HSN | |
// | |
// Created by John Anderson on 11/26/12. | |
// Copyright (c) 2012 John Anderson. All rights reserved. | |
// | |
#import "Overlay.h" | |
#import "AddNewCardController.h" | |
@implementation Overlay | |
- (id)initWithFrame:(CGRect)frame | |
{ | |
if (self = [super initWithFrame:frame]) { | |
// Clear the background of the overlay: | |
self.opaque = NO; | |
self.backgroundColor = [UIColor clearColor]; | |
// Load the image to show in the overlay: | |
UIImage *overlayGraphic = [UIImage imageNamed:@"camera_card2.png"]; | |
UIImageView *overlayGraphicView = [[UIImageView alloc] initWithImage:overlayGraphic]; | |
overlayGraphicView.frame = CGRectMake(0, 0, 320, 580); | |
[self addSubview:overlayGraphicView]; | |
} | |
return self; | |
} | |
@end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment