我在搞弄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);

09-30 14:20
查看更多