我在搞乱 zxing library 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);
关于android - zxing:创建要在 ImageView 中使用的 ean_13 条形码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19384935/