代码完善
2015年12月11日
QA测试发现,服务端生成的二维码,使用ZBar识别不出来,但将这张图片保存到相册,然后发送就可以识别出来。最初的想法是要服务端修改生成的二维码,但安卓能够识别出来,此路不通,那只有看ZBar的源码了。
- (id <NSFastEnumeration>) scanImage: (CGImageRef) image{ timer_start; int nsyms = [self scanImage: image withScaling: 0]; //没有识别出来,判断CGImageRef对象的宽和高是否大于640,大于或等于的话进行缩放再进行扫描 if(!nsyms && CGImageGetWidth(image) >= 640 && CGImageGetHeight(image) >= 640) // make style="color: #009999;">.5]; NSMutableArray *syms = nil; if(nsyms) { // quality/type filtering int max_quality = MIN_QUALITY; for(ZBarSymbol *sym in scanner.results) { zbar_symbol_type_t type = sym.type; int quality; if(type == ZBAR_QRCODE) quality = INT_MAX; else quality = sym.quality; if(quality < max_quality) { zlog(@" type=%d quality=%d < %d\n", type, quality, max_quality); continue; } if(max_quality < quality) { max_quality = quality; if(syms) [syms removeAllObjects]; } zlog(@" type=%d quality=%d\n", type, quality); if(!syms) syms = [NSMutableArray arrayWithCapacity: 1]; [syms addObject: sym]; } } zlog(@"read %d filtered symbols in %gs total\n", (!syms) ? 0 : [syms count], timer_elapsed(t_start, timer_now())); return(syms);}
在这里就产生了一个解决有些二维码图片识别不出来的解决思路:将传过来的