我正在使用找到here
的QRCode api我通过Api成功实现了QRCode生成,但结果就是这个
(为了问我的问题,我将颜色从白色更改为黄色)
所以,现在如果你发现你发现外边界非常厚,我希望它很薄......就像这样
我用来生成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
答案 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)
明显的答案是减少length
和breadth
值。你试过吗?