【问题标题】:How to resize barcode generated by barbecue api?如何调整烧烤api生成的条形码大小?
【发布时间】:2011-11-27 22:58:30
【问题描述】:

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

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

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

【问题讨论】:

    标签: java barcode barcode-printing


    【解决方案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 现在包含您的缩放图像。请注意,这不是基于矢量的,所以我不确定质量。要提高缩放质量,您可以使用rendering hints

    【讨论】:

    • 谢谢。我也得到了另一种解决方案,直接改变原始图像的大小,然后将其转换为BufferedImage。
    【解决方案2】:

    试试这个代码:

    Barcode b = BarcodeFactory.create2of7(jTextField1.getText());
    b.setBarHeight(5);
    b.setBarWidth(1);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多