Как изменить размер штрих-кода, сгенерированного барбекю API? - PullRequest
1 голос
/ 29 сентября 2011

Я создал штрих-код, используя барбекю, и теперь я хочу изменить размер штрих-кода в соответствии с моими потребностями. Я попытался с BufferedImage, а затем я получил штрих-код с другим размером, но затем я получил дополнительную черную линию под штрих-кодом.


    public class GenerateBarcode {
    public static void main(String[] args) throws Exception {
        String initialString = JOptionPane.showInputDialog("Enter the text here");
        Barcode barcode = BarcodeFactory.createCode128(initialString);
        BufferedImage bi = BarcodeImageHandler.getImage(barcode);
        }
    }

Здесь я хочу изменить размер "bi".

Ответы [ 2 ]

1 голос
/ 05 октября 2012

Попробуйте этот код:

Barcode b = BarcodeFactory.create2of7(jTextField1.getText());
b.setBarHeight(5);
b.setBarWidth(1);
1 голос
/ 30 сентября 2011

Чтобы изменить размер любого 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 теперь содержит ваше масштабированное изображение. Обратите внимание, что это не вектор, поэтому я не уверен в качестве. Для повышения качества масштабирования вы можете поиграть с подсказками .

...