前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ios-zbar scanview 根据扫描区域切割图片

ios-zbar scanview 根据扫描区域切割图片

作者头像
阿新
发布2018-04-12 15:10:40
1.1K0
发布2018-04-12 15:10:40
举报
文章被收录于专栏:c#开发者

在scanview中添加扫描区域

代码语言:javascript
复制
ZBarReaderViewController *reader = [ZBarReaderViewController new];
    reader.readerDelegate = self;
    //CGRect frame= CGRectMake(20, 30, 320, 260);
    reader.scanCrop= CGRectMake(0.2, .1, .47, .8);  

自定义scanview添加一个自定义的扫描框

代码语言:javascript
复制
- (UIView *)setOverlayPickerView{
    UIView *v=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    [v setBackgroundColor:[UIColor clearColor]];
    UILabel *scanningLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 50, 120, 30)];
    [scanningLabel setBackgroundColor:[UIColor clearColor]];
	[scanningLabel setFont:[UIFont fontWithName:@"Courier" size: 18.0]];
	[scanningLabel setTextColor:[UIColor redColor]];
	[scanningLabel setText:@"Scanning..."];
    [scanningLabel setHidden:NO];
	[v addSubview:scanningLabel];
    
    UIImageView *overlayImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"overlaygraphic.png"]];
    [overlayImageView setFrame:CGRectMake(30, 100, 260, 200)];
    [v addSubview:overlayImageView];
    UIToolbar *myToolBar = [[UIToolbar alloc] init];
    UIBarButtonItem *backButton=[[UIBarButtonItem alloc] initWithTitle:@"back" style:UIBarButtonItemStyleBordered target:self action:@selector(dismissOverlayView:)];
    UISwitch *sw=[[UISwitch alloc] init];
    [sw setOn:NO];
    UIBarButtonItem *switchButton=[[UIBarButtonItem alloc] initWithCustomView:sw];
    UIBarButtonItem *fixed=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
    [sw addTarget:self action:@selector(handleSwitchFlash:) forControlEvents:UIControlEventValueChanged];
    [myToolBar setItems:[NSArray arrayWithObjects:backButton,fixed,switchButton,nil]];
    [myToolBar setBarStyle:UIBarStyleDefault];
    CGRect toolBarFrame;
    toolBarFrame = CGRectMake(0, 436, 320, 44);
    [myToolBar setFrame:toolBarFrame];
    [v addSubview:myToolBar];
    return  v;
}

切割图片

代码语言:javascript
复制
// EXAMPLE: do something useful with the barcode image
    
    UIImage *largeImage=[info objectForKey: UIImagePickerControllerOriginalImage];
    
    //UIImage * PortraitImage = [[UIImage alloc] initWithCGImage: largeImage.CGImage
    //                                                     scale: 1.0
    //                                               orientation: UIImageOrientationLeft];
    UIImage * PortraitImage=[largeImage imageRotatedByDegrees:90];
    
    //CGRectMake(0.2, .1, .47, .8);
    float w=largeImage.size.width;
    float h=largeImage.size.height;
    NSLog(@"====largeimagesize:h=%f,w=%f",largeImage.size.height,largeImage.size.width);
    NSLog(@"====PortraitImage:h=%f,w=%f",PortraitImage.size.height,PortraitImage.size.width);
    CGImageRef imageRef = CGImageCreateWithImageInRect([PortraitImage CGImage], CGRectMake(w*.25, h*.2, w*.8, h*.27));
    
    
    // or use the UIImage wherever you like
    [self.scanImageView setImage:[UIImage imageWithCGImage:imageRef]];
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012-12-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档