- 扫描区域计算
这点比较重要,我们常用的二维码扫描软件的有效扫描区域一般都是中央区域,其他部分是不进行扫描的,ZBar可以通过ZBarReaderView的scanCrop属性设置扫描区域,它的默认值是CGRect(0, 0, 1, 1),表示整个ZBarReaderView区域都是有效的扫描区域。我们需要把扫描区域坐标计算为对应的百度分数坐标,也就是以上代码中调用的getScanCrop:readerViewBounds方法,亲测没有问题,如下所示:
-(CGRect)getScanCrop:(CGRect)rect readerViewBounds:(CGRect)readerViewBounds
{
CGFloat x,y,width,height;
x
=
rect.origin.x
/
readerViewBounds.size.width;
y
=
rect.origin.y
/
readerViewBounds.size.height;
width
=
rect.size.width
/
readerViewBounds.size.width;
height
=
rect.size.height
/
readerViewBounds.size.height;
return
CGRectMake(x, y, width, height);
}
{
}