ios-zbar scanview 根據掃描地區切割圖片

來源:互聯網
上載者:User

在scanview中添加掃描地區

ZBarReaderViewController *reader = [ZBarReaderViewController new];    reader.readerDelegate = self;    //CGRect frame= CGRectMake(20, 30, 320, 260);    reader.scanCrop= CGRectMake(0.2, .1, .47, .8);  

自訂scanview添加一個自訂的掃描框

- (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;}

切割圖片

// 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]];

  

  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.