QRCode生成
来源:互联网 发布:淘宝旧货二手市场 编辑:程序博客网 时间:2024/06/14 07:26
官网地址 :https://github.com/zxing/zxing/
需要的jar包:core.3.3jar
javase.3.3jar(貌似没用到)
支持所有类型的一维二维码(QR,OR等)
简单生成QRCode
//进行编码为一维或二位的发昂发
MultiFormatWriter writer=new MultiFormatWriter();
String contents="你大爷"; //连接是url可以打开网址,或者下载
int width=200;
int height=200;
//编码过程参数的设置
HashMap<EncodeHintType, Object> conf=new HashMap<>();
conf.put(EncodeHintType.CHARACTER_SET, "utf-8");
//制作了一个 二进制矩阵
BitMatrix matrix=writer.encode(contents, BarcodeFormat.QR_CODE, width, height,conf); //类型 和 设置(提示可以不用写
//二进制矩阵 转化图片 并输出
MatrixToImageWriter.writeToPath(matrix, "png", new File("f:/1.png").toPath());
复杂的二维码(1.可以简单的url,或者string信息2.可以添加图片3.可以设置颜色)
原理:二维码有自己的纠错机制
过程:通过生成简单的二位矩阵,将黑白信息传递给BufferImage来添加图片等
如上……得到BitMatrix matrix;
1.创建bufferImage QRCode 类型的二维码 通过之前的
2.BufferedImage QRCode=new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
for(int x=0;x<width;x++) {
for(int y=0;y<height;y++) {
if(matrix.get(x, y)) {
QRCode.setRGB(x, y, 0x000000); //黑色,可以设置其他的颜色
}else {
QRCode.setRGB(x, y, 0xffffff);
}
}
}
3.获取logo (通过ImageIO在本地获取 ,在设置大小,方式
int w=30,h=30;
BufferedImage bufferedImage=ImageIO.read(new File("C:\\Users\\17854\\Desktop\\233lawliet.jpg"));
Image imageLogo=bufferedImage.getScaledInstance(w, h, Image.SCALE_FAST); //设置logo的高宽 缩小方式-快速
4.将logo合并
Graphics graphics=QRCode.getGraphics();
graphics.drawImage(imageLogo, (width-w)/2, (height-h)/2, null); //居中
5.生成本地
ImageIO.write(QRCode, "png", new File("f://1.png"));
//友情提示;二维码有一定容错率,所以图片添加不要过份大(自己别忘了扫码检测
需要的jar包:core.3.3jar
javase.3.3jar(貌似没用到)
支持所有类型的一维二维码(QR,OR等)
简单生成QRCode
//进行编码为一维或二位的发昂发
MultiFormatWriter writer=new MultiFormatWriter();
String contents="你大爷"; //连接是url可以打开网址,或者下载
int width=200;
int height=200;
//编码过程参数的设置
HashMap<EncodeHintType, Object> conf=new HashMap<>();
conf.put(EncodeHintType.CHARACTER_SET, "utf-8");
//制作了一个 二进制矩阵
BitMatrix matrix=writer.encode(contents, BarcodeFormat.QR_CODE, width, height,conf); //类型 和 设置(提示可以不用写
//二进制矩阵 转化图片 并输出
MatrixToImageWriter.writeToPath(matrix, "png", new File("f:/1.png").toPath());
复杂的二维码(1.可以简单的url,或者string信息2.可以添加图片3.可以设置颜色)
原理:二维码有自己的纠错机制
过程:通过生成简单的二位矩阵,将黑白信息传递给BufferImage来添加图片等
如上……得到BitMatrix matrix;
1.创建bufferImage QRCode 类型的二维码 通过之前的
2.BufferedImage QRCode=new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
for(int x=0;x<width;x++) {
for(int y=0;y<height;y++) {
if(matrix.get(x, y)) {
QRCode.setRGB(x, y, 0x000000); //黑色,可以设置其他的颜色
}else {
QRCode.setRGB(x, y, 0xffffff);
}
}
}
3.获取logo (通过ImageIO在本地获取 ,在设置大小,方式
int w=30,h=30;
BufferedImage bufferedImage=ImageIO.read(new File("C:\\Users\\17854\\Desktop\\233lawliet.jpg"));
Image imageLogo=bufferedImage.getScaledInstance(w, h, Image.SCALE_FAST); //设置logo的高宽 缩小方式-快速
4.将logo合并
Graphics graphics=QRCode.getGraphics();
graphics.drawImage(imageLogo, (width-w)/2, (height-h)/2, null); //居中
5.生成本地
ImageIO.write(QRCode, "png", new File("f://1.png"));
//友情提示;二维码有一定容错率,所以图片添加不要过份大(自己别忘了扫码检测
阅读全文
0 1
- QRCode生成
- qrcode生成,二维码生成
- php生成QRcode
- QRcode php生成二维码
- qrcode二维码生成/解析
- java QRCode生成示例
- ZXing生成qrCode
- query-qrcode生成二维码
- 使用QRCode生成二维码
- jquery.qrcode生成二维码
- 利用QRCode生成二维码
- QRcode生成二维码
- 利用QRCode生成二维码
- 利用QrCode生成二维码
- QRCode生成二维码
- java生成二维码QRCode
- STM32+QRCode二维码生成
- MSP430+QRCode二维码生成
- [libxml2]_[C/C++]_[高效读取XML大文件]
- 1344 走格子
- 毛算计算开方运算
- 线性表的java实现(数组,链表)
- 如何在GitHub上创建一个工程
- QRCode生成
- Tensorflow实战学习(三)【数据流图定义、执行、可视化】
- 课堂练习6:
- TreeSet和TreeMap初始化时有无比较器的测试
- Android NDK实现apk文件的增量更新
- 算法分析与设计课程作业第十周#1
- 网络基础知识-1
- Java中char占用几个字节
- CANoe学习笔记