1

我已经使用烧烤生成了条形码,现在我想根据需要调整条形码的大小。我尝试使用 BufferedImage,然后我得到了不同大小的条形码,但随后我在条形码下得到了一条额外的黑线。

    公共类 GenerateBarcode {
    公共静态 void main(String[] args) 抛出异常 {
        String initialString = JOptionPane.showInputDialog("在此处输入文本");
        条码条码 = BarcodeFactory.createCode128(initialString);
        BufferedImage bi = BarcodeImageHandler.getImage(barcode);
        }
    }

在这里我想调整“bi”的大小。

4

2 回答 2

1

要调整任何 BufferedImage 的大小,您可以创建一个新的并在其上绘制旧的并应用缩放。例如:

double scale = 2;
BufferedImage scaledBi = new BufferedImage((int)(bi.getWidth()*scale), (int) (bi.getHeight()*scale), bi.getType());
Graphics2D g2 = scaledBi.createGraphics();
g2.drawImage(bi, 0, 0, scaledBi.getWidth(), scaledBi.getHeight(), 0, 0, bi.getWidth(), bi.getHeight(), null);

scaledBi现在包含您的缩放图像。请注意,这不是基于矢量的,所以我不确定质量。要提高缩放质量,您可以使用渲染提示

于 2011-09-29T20:30:34.280 回答
1

试试这个代码:

Barcode b = BarcodeFactory.create2of7(jTextField1.getText());
b.setBarHeight(5);
b.setBarWidth(1);
于 2012-10-05T05:45:41.333 回答