1

バーベキューを使用してバーコードを生成しましたが、必要に応じてバーコードのサイズを変更したいと考えています。BufferedImage を試してみたところ、サイズの異なるバーコードが表示されましたが、バーコードの下に黒い線が追加されました。

    public class GenerateBarcode {
    public static void main(String[] args) throws Exception {
        String initialString = JOptionPane.showInputDialog("ここにテキストを入力してください");
        バーコード バーコード = BarcodeFactory.createCode128(initialString);
        BufferedImage bi = BarcodeImageHandler.getImage(バーコード);
        }
    }

ここで「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 に答える