admin管理员组文章数量:1641964
java通过QRcode生成二维码
一、介绍
java生成二维码的方式常见的技术有两种:zxing和QRcode。但小编用的比较多的是QRcode,今天小编给大家介绍的也是QRcode。
二、用到的包
点击下载QRcode包
密码:a3ag
二、java代码
package com.kejizhentan.qrcode;
import com.google.zxing.qrcode.encoder.QRCode;
import com.swetake.util.Qrcode;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Date;
/**
* @author xiaosi
* @date 2020-12-28 下午09:22
*/
public class QrcodeDemo {
public void encoderQRCode(String content,String imgPath){
try {
Qrcode qrcodeHander = new Qrcode();
//设置二维码排错率,可选L(7%),M()k,Q(),H(),排错率越高可存储的信息越少,但对二维码清晰度的要求越少
qrcodeHander.setQrcodeErrorCorrect('M');
//编码模式:Numberic 数字,Binary二进制 ,Kanji 汉字,Alphanumeric 英文字母
qrcodeHander.setQrcodeEncodeMode('B');
qrcodeHander.setQrcodeVersion(5);
byte[] contentBytes = content.getBytes();
//设置画布大小和颜色格式
BufferedImage bufImg = new BufferedImage(600,600,BufferedImage.TYPE_INT_RGB);
//创建画笔--2D
Graphics2D gs = bufImg.createGraphics();
//设置背景色为白色
gs.setBackground(Color.WHITE);
//设置画笔从那个坐标开始画
gs.clearRect(0,0,600,600);
//设置图像的颜色为黑色
gs.setColor(Color.BLACK);
//设置偏移量,及手机可以偏移多少角度扫描(不设置会导致解析错误)
int pixoff = 2;
//输出内容 二维码
if(contentBytes.length > 0 && contentBytes.length < 800){
boolean[][] codeOut = qrcodeHander.calQrcode(contentBytes);
for (int i = 0; i < codeOut.length ; i++) {
for (int j = 0; j < codeOut.length; j++) {
if(codeOut[j][i]){
gs.fillRect(j*16+pixoff,i*16+pixoff,16,16);
}
}
}
}
//画笔扔掉
gs.dispose();
bufImg.flush();
File imgFile = new File(imgPath);
//生成二维码QRCode图片
ImageIO.write(bufImg,"png",imgFile);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
QrcodeDemo qrcodeDemo = new QrcodeDemo();
qrcodeDemo.encoderQRCode("http://kejizhentan/","E:\\"+"112"+".png");
System.out.println("二维码生成成功");
}
}
今天就介绍到这里,欢迎大家留言补充。再见~
版权声明:本文标题:java通过Qrcode生成二维码 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729329381a1196190.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论