0

我使用 ZXing 库制作了条码生成器,但是当条码生成时,它不会在条码下方显示文本,例如

在此处输入图像描述

所以请建议我一些解决方案,如何使用TEXT生成 BARCODE CODE_128 这是我的代码:

try {

        Map<EncodeHintType, Object> hints = null;
        hints = new EnumMap<EncodeHintType, Object>(EncodeHintType.class);
        hints.put(EncodeHintType.CHARACTER_SET, "ABC-abc-1234");

        BitMatrix bitMatrix = new Code128Writer().encode("ABC-abc-1234", BarcodeFormat.CODE_128, 350, 150, hints);

        int width = bitMatrix.getWidth();
        int height = bitMatrix.getHeight();
        int[] pixels = new int[width * height];
        // All are 0, or black, by default
        for (int y = 0; y < height; y++) {
            int offset = y * width;
            for (int x = 0; x < width; x++) {
                pixels[offset + x] = bitMatrix.get(x, y) ? Color.BLACK : Color.WHITE;
            }
        }

        Bitmap bitmap = Bitmap.createBitmap(width, height,
                Bitmap.Config.ARGB_8888);
        bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
        mImageView.setImageBitmap(bitmap);
    } catch (Exception e) {
        // TODO: handle exception
    }
4

3 回答 3

1

编码器不会将任何附加文本放入图像中。其目的仅是生成条形码。您必须将其添加到其他地方。

于 2014-02-03T09:12:52.217 回答
0

对于仍在寻找问题解决方案的任何人。一种可能的方法是为条形码创建一个位图图像,为条形码下方的信息创建另一个。然后您可以组合/叠加或根据需要将两个位图合二为一并打印组合的位图!经兄弟 LQ-720NW 测试,一切正常!:)

于 2018-10-25T14:23:59.650 回答
-1

替换为以下内容:

BitMatrix bitMatrix = new Code128Writer().write( "ABC-abc-1234",
                                                 BarcodeFormat.CODE_128,
                                                 350,
                                                 150,
                                                 hints
                                                 );
于 2014-11-17T19:20:14.627 回答