如何从Android中的位图解码条形码

时间:2011-10-16 19:51:06

标签: android bitmap barcode

我制作了一个Adroid应用程序用于生成&解码Code128中的条形码。当我尝试使用自己的应用程序对抗来自第三方的某些Code128条形码时,它无法正常工作。

我已经从第三方网站http://generator.onbarcode.com/linear.aspx?TYPE=7&DATA=ID%3ao0123456789&UOM=0&X=1&Y=60&LEFT-MARGIN=0&RIGHT-MARGIN=0&TOP-MARGIN=0&BOTTOM-MARGIN=0&RESOLUTION=0&ROTATE=0&BARCODE-WIDTH=0&BARCODE-HEIGHT=0&SHOW-TEXT=true&TEXT-FONT=Arial|9|Regular&TextMargin=6&FORMAT=png&PROCESS-TILDE=false

生成了条形码

如您所见,上面链接的条形码以“1101 ...”开头。并在本地将其保存为16位的Bitmap并将其加载到Android模拟器上。当我扫描该位图的中间线并在该位图的中间获得跟随扫描线时:

  

[ - 1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2170914, - 13026247,-16777216,-15197160,-4342083,-7565684,-15197160,-4342083,-1,-2170914,-13026247,-9736853,-1,-1,-1,-1,-1,-7565684, -16777216,-16777216,-9736853,-1,-1,-1,-1052689,-13026247,-9736853,-1,-1,-1,-1052689,-13026247,-10855078,-1052689,-13026247 ,-10855078,-1052689,-13026247,-16777216,-16249848,-4342083,-1,-1,-1,-6512996,-16249848,-4342083,-1,-1,-1,-6512996, - 16777216,-16777216,-16777216,-16249848,-5394771,-1,-1052689,-11907766,-10855078,-1,-1,-6512996,-16777216,-16777216,-10855078,-1,-11907766, -10855078,-1,-1,-1,-1,-11907766,-16777216,-16777216,-16777216,-16777216,-16777216,-5394771,-5394771,-16777216,-5394771,-5394771,-16777216 ,-5394771,-5394771,-16777216,-16777216,-16777216,-16777216,-5394771,-5394771,-16777216,-16777216,-16777216,-16777216,-16777216,-11907766,-1,-10855078, - 16777216,-16777216,-6512996,-1,-1,-10855 078,-16777216,-16777216,-6512996,-5394771,-16249848,-16777216,-11907766,-1052689,-1,-5394771,-16249848,-16777216,-16777216,-16777216,-6512996,-5394771, -16249848,-16777216,-13026247,-1052689,-10855078,-16777216,-16777216,-16777216,-13026247,-1052689,-10855078,-13026247,-1052689,-10855078,-16777216,-16777216,-16777216 ,-13026247,-1052689,-9736853,-16777216,-16777216,-7565684,-1,-1,-1,-4342083,-16249848,-7565684,-1,-1,-1,-1, - 1,-9736853,-13026247,-2170914,-9736853,-16777216,-16777216,-7565684,-1,-1,-9736853,-16777216,-16777216,-7565684,-4342083,-15197160,-16777216, -14078935,-2170914,-9736853,-16777216,-16777216,-16777216,-16777216,-16777216,-7565684,-3223602,-15197160,-7565684,-3223602,-15197160,-16777216,-14078935,-2170914 ,-1,-1,-1,-8684165,-14078935,-2170914,-1,-1,-1,-8684165,-16777216,-16777216,-8684165,-1,-1,-1, - 3223602,-14078935,-16777216,-16777216,-16777216,-8684165,-3223602,-140 78935,-8684165,-3223602,-14078935,-16777216,-15197160,-3223602,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1]

正如您从上面看到的转储扫描线数据一样,前八个连续无“-1”整数表示条形码中的“11”,我的应用程序则预期四个连续的“-1”,但它只有一个“-1”,然后只有3连续无“-1”,但我的应用程序预计应该存在4连续无“-1”。总而言之,我的应用程序完全被这些扫描数据所困惑。

有人可以告诉我,我对扫描数据中出现“-1”或无“-1”的次数是否合适,或者我是否以错误的方式解释了扫描数据?如果您能够更好地解释如何解码扫描数据,我们将不胜感激。

提前感谢!

0 个答案:

没有答案