当zxing在解析UIImage中的二维码内容成功后除了返回二维码的内容外,还会返回二维码的三个定位块的中心点坐标,但是返回的坐标位置跟原图的坐标并不相同,而是小了很多。事实上,返回的坐标是一组被缩小了的图的坐标,也就是subset中的坐标,所以需要换算。换算过程如下(伪代码):
变量:
UIImage* image;//原图
UIImage* subset;//zxing回调的时候默认传出的灰度图
NSArray* points;//zxing回调的时候通过twoDecoderResult传出的定位块坐标集合
换算公式:
经过随机切图测试,这个公式应该没什么问题,都能解出正确的坐标。
使用的是zxing2.2,不过自己已经改了不少东西。。
____________________
口1
口0
——————————
返回的定位块坐标索引的序号与定位块的位置关系对应如上图