详解使用zxing库生成QR-Code二维码
程序员文章站
2024-02-26 20:45:04
详解使用zxing库生成qr-code二维码
最近因为一些工作需要,需要根据实际的信息生成qr-code二维码图片文件,自然想到zxing库了,具体的代码很简单,做个备忘...
详解使用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 的文件位置,在具体实际的使用中需要具体修改。
生成的图片是:
(调整过大小)
在这里需要说明的是,二维码中的点的大小会随二维码文字内容的多少自动变化,所以在文字内容很多的时候需要把图片的尺寸调大,否则点太小了,一般的手机扫描起来很吃力
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!