2012-01-04 21 views
1

私は以下のコードを使ってZbar sdkを使ってバーコードをスキャンしています。Zbarを使ってスキャンしたバーコードを切り抜くには?

私はrelated question of stackoverflowを経由しますが、その答えは私のために働いていません。私は以下のように画像を取得していますし、私はそれをトリミングしたい場合

今まで私が

-(void)advanceCrop:(UIImageView *)aimgViewResult 
    { 


     CGRect r =CGRectMake(50/426., 1-(20+250)/320., 150/426., 250/320.); 
     reader.scanCrop = r; 


     r = CGRectMake(20, 50, 250, 150); 

     imgViewResult.frame = r; 
     NSLog(@"imgview height:%f width:%f",imgViewResult.frame.size.height, imgViewResult.frame.size.width); 


     /* 

     // CGRect r = CGRectFromString(lblImage.text); 
     CGRect r = CGRectMake(50/426., 1-(20+250)/320., 150/426., 250/320.); 

     reader.scanCrop = r; 
     NSLog(@"r: x:%f y:%f height :%f width:%f",r.origin.x ,r.origin.y ,r.size.height , r.size.width); 

     // aLblImage.text = NSStringFromCGRect(r); 

     r.origin.x *= 426; 
     r.origin.y *= 320; 
     r.size.width *= 426; 
     r.size.height *= 320; 

     imgViewResult.frame = r; 
     NSLog(@"imgview height:%f width:%f",imgViewResult.frame.size.height, imgViewResult.frame.size.width); 
     */ 
    } 

、advanceCrop方法は、作物をやっている、

-(IBAction)btnCLick 
    { 
     ZBarReaderViewController *reader = [ZBarReaderViewController new]; 
     reader.readerDelegate = self; 
     reader.supportedOrientationsMask = ZBarOrientationMaskAll; 

     ZBarImageScanner *scanner = reader.scanner; 
     [scanner setSymbology:ZBAR_I25 config:ZBAR_CFG_ENABLE to:0]; 


     [self presentModalViewController:reader animated:YES]; 
     [reader release]; 
    } 

- (void) imagePickerController: (UIImagePickerController*) aReader 
    didFinishPickingMediaWithInfo: (NSDictionary*) info 
    { 

     id<NSFastEnumeration> results = [info objectForKey:ZBarReaderControllerResults]; 

     ZBarSymbol *symbol = nil; 

     for(symbol in results) 
     { 
      break; 
     } 
     txtViewResult.text = symbol.data; 
     imgViewResult.image = [info objectForKey:UIImagePickerControllerOriginalImage]; 

     [self advanceCrop:imgViewResult]; 
     [reader dismissModalViewControllerAnimated:YES]; 

    } 

を行っている、それはZbarで可能ですか?

enter image description here

答えて

1

これを試してください。 CGRect = CGRectMake(x, y, width, height);の場合:

float A = y/readerView.bounds.size.height; 
float B = 1 - (x + width)/readerView.bounds.size.width; 
float C = (y + height)/readerView.bounds.size.height; 
float D = 1 - x/readerView.bounds.size.width;; 
CGRectMake(A, B, C, D); 
関連する問題