具有自定义功能的QRCode应用程序

时间:2012-08-09 06:15:59

标签: java qr-code

我正在使用找到here

的QRCode api

我通过Api成功实现了QRCode生成,但结果就是这个

enter image description here

(为了问我的问题,我将颜色从白色更改为黄色)

所以,现在如果你发现你发现外边界非常厚,我希望它很薄......就像这样

enter image description here

我用来生成qrcode并改变颜色的代码就是这个

public boolean writeImage(String qrMessageForGeneratingQRCode,String filename){

    boolean result = false;

    try{
        int length = 200;
        int breadth = 200;
        BufferedImage originalQRCodeBufferedImage = ImageIO.read(new ByteArrayInputStream(QRCode.from(qrMessageForGeneratingQRCode).withSize(length,breadth).stream().toByteArray()));
        BufferedImage changedQRCodeBufferedImage = new ColorChanger().changeColor(originalQRCodeBufferedImage, Color.WHITE, new Color(255,202,0));
        ImageIO.write(changedQRCodeBufferedImage,FilesUtil.getProperty("QR_CODE_IMAGE_FORMAT") , new File(filename));
        result = true;
    }catch(Exception ex){
        ex.printStackTrace();
        result = false;
    }

    return result;
}

请详细说明我如何使用代码实现这一点....提前感谢.... ANKUR

2 个答案:

答案 0 :(得分:2)

QR码周围的安静区域需要4个模块。你不想减少这个。您建议的图像将难以扫描。

您可以随时使用简单裁剪编辑BufferedImage:

BufferedImage crop = original.getSubimage(50, 50, original.getWidth() - 2*50, original.getHeight() - 2*50);

顺便说一句,你应该将你的解决方案中使用的基础zxing库更新到至少2.0,可能是2.1-SNAPSHOT。 1.7岁了。

答案 1 :(得分:0)

明显的答案是减少lengthbreadth值。你试过吗?