1.使用版本 zxing .NET CF3.5版本
注意事项:使用zxing库有很大的局限性,首先镜头需要有对焦功能,任意两条黑色色块之间必须
要有至少宽度为一个像素的白格做间隔;其次条形码左右两个方向不能有大量的同色色块.因此建
议使用此方式解析条形码时,拍照能使条形码充满横向区域,并在纵向方向上居中.
2.入参
Bitmap 继承Image(CF下类型,无pixelFormat标注)
编码 CODE128 CODE39 EAN13 EAN8 etc...
3.知识库
a.BufferedImageMonochromeBitmapSource Bitmap封包类 用于存储图片句柄,以及查找图片上的
“黑色”点及所在行
b.BarcodeFormat 枚举 标识各种编码 举例CODE128 CODE39 EAN13 EAN8
c.BitArray 应当是一种非常隐蔽的hash表,其某个块下的数据是通过"|"操作结合在一起的,非常节省内存,
可以用于压缩存储数组(??????等待验证)
d.BlackPointEstimator 用于从一堆接近于黑色的颜色当中获得最佳的条形码黑条颜色,并定位出现此颜色的最左一个像素,
即条形码的可能开始区域(可能再往右走点,但是抱着宁可错抓也不放过的思维)
4.解析流程
a.MutiFormatOneDReader.decode(BufferedImageMonochromeBitmapSource, List<BarcodeFormat>)
加载图片,并记录需要分析的编码集
新建BitArray对象row,用于存储一行像素,像素的列数为图形列数. 将整个图形的采样次数取为7次(也就是对图
注意事项:使用zxing库有很大的局限性,首先镜头需要有对焦功能,任意两条黑色色块之间必须
要有至少宽度为一个像素的白格做间隔;其次条形码左右两个方向不能有大量的同色色块.因此建
议使用此方式解析条形码时,拍照能使条形码充满横向区域,并在纵向方向上居中.
2.入参
Bitmap 继承Image(CF下类型,无pixelFormat标注)
编码 CODE128 CODE39 EAN13 EAN8 etc...
3.知识库
a.BufferedImageMonochromeBitmapSource Bitmap封包类 用于存储图片句柄,以及查找图片上的
“黑色”点及所在行
b.BarcodeFormat 枚举 标识各种编码 举例CODE128 CODE39 EAN13 EAN8
c.BitArray 应当是一种非常隐蔽的hash表,其某个块下的数据是通过"|"操作结合在一起的,非常节省内存,
可以用于压缩存储数组(??????等待验证)
d.BlackPointEstimator 用于从一堆接近于黑色的颜色当中获得最佳的条形码黑条颜色,并定位出现此颜色的最左一个像素,
即条形码的可能开始区域(可能再往右走点,但是抱着宁可错抓也不放过的思维)
4.解析流程
a.MutiFormatOneDReader.decode(BufferedImageMonochromeBitmapSource, List<BarcodeFormat>)
加载图片,并记录需要分析的编码集
新建BitArray对象row,用于存储一行像素,像素的列数为图形列数. 将整个图形的采样次数取为7次(也就是对图