详解使用zxing库生成QR-Code二维码
最近因为一些工作需要,需要根据实际的信息生成QR-Code二维码图片文件,自然想到zxing库了,具体的代码很简单,做个备忘。
首先是引入zxing库,我是使用maven构建项目的,添加依赖:
<dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.3.0</version> </dependency>
然后是测试样列代码:
import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; /** * 使用zxing库生成QRCode二维码样例程序 * * @author 阿信sxq * */ public class QrcodeDemo { public static void main(String[] args) { new QrcodeDemo().genQrcode("https://my.oschina.net/songxinqiang"); } public void genQrcode(String message) { //输出目标文件 File file = new File("E:\\qrcode.png"); if (!file.exists()) { try { file.mkdirs(); file.createNewFile(); } catch (IOException e) {} } //设置参数,输出文件 Map<EncodeHintType, String> hints = new HashMap<>(); hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); try { BitMatrix bitMatrix = new MultiFormatWriter().encode(message, BarcodeFormat.QR_CODE, 300, 300, hints);// 生成矩阵 MatrixToImageWriter.writeToPath(bitMatrix, "png", file.toPath());// 输出图像 } catch (Exception e) {} } }
这里是为了做演示,内容直接生成的我空间的地址,并且目标文件也是现在家里使用的windows 的文件位置,在具体实际的使用中需要具体修改。
生成的图片是:
(调整过大小)
在这里需要说明的是,二维码中的点的大小会随二维码文字内容的多少自动变化,所以在文字内容很多的时候需要把图片的尺寸调大,否则点太小了,一般的手机扫描起来很吃力
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。