我在搞弄zxing库2.2(是否有任何文档?)
我想做的是:
取一个现有的EAN13字符串,将其传递给库,并获取要在ImageView中使用的图像(或将其写入内部存储,然后由我自己为imageView创建位图)
不幸的是,MatrixToImageWriter仅在J2SE中工作,而在android中不工作(因为awt?),因此我不能使用它。
我发现这篇文章Generate barcode image in Android application
它适用于Code128,但是当我将BarcodeFormat.CODE_128更改为EAN13时,我只会得到一个空图像。
有任何想法吗?
还有其他图书馆可以实现我想要的吗?
提前致谢!
最佳答案
由于传递的字符串不是“ EAN-13”条形码格式要求的格式,因此得到的图像是空的。它应该是13位数字,最后一位是前12位数字的校验和。
您可以使用此链接获取有关EAN-13格式的更多信息。
http://www.barcodeisland.com/ean13.phtml
我使用以下函数来创建字符串的校验和数字。
private int calculateChecksumDigit(String mMembershipId) {
int total_sum=0;
for(int i=0;i<mMembershipId.length();i++)
{
if(i%2!=0) {
total_sum=total_sum+Integer.parseInt(""+mMembershipId.charAt(i))*3;
}
else
{
total_sum=total_sum+Integer.parseInt(""+mMembershipId.charAt(i));
}
}
return 10-(total_sum%10);
}
然后将其作为
BarCodeGenerator.encodeAsBitmap(mMembershipId+calculateChecksumDigit(mMembershipId), BarcodeFormat.EAN_13, widthInPixels, heightInPixels);