Qrcode生成的扫描不出来
package com.snxun.QRCode;
import com.swetake.util.Qrcode;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
public class Create {
public static void main(String[] args) throws Exception {
Qrcode qrcode = new Qrcode();
// 设置纠错级别
qrcode.setQrcodeErrorCorrect('M');
// 设置编码内容,N代表数字,A代表A-z,B代表其他字符
qrcode.setQrcodeEncodeMode('B');
qrcode.setQrcodeVersion(7);
String qrdata = "DSGASDGASDG";
// 可以正好充满二维码大小的固定公式
int width = 67 + 12 * (7 - 1);
int height = 67 + 12 * (7 - 1);
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D gs = bufferedImage.createGraphics();
gs.setBackground(Color.black);
gs.setColor(Color.WHITE);
gs.clearRect(0, 0, width, height);
// 如果有汉字,需要将编码转换成GB系列的
int pixoff = 2;// 偏移量,防止解析的时候出错
byte[] d = qrdata.getBytes("gb2312");
if (d.length > 0 && d.length < 120) {
boolean[][] s = qrcode.calQrcode(d);
for (int i = 0; i < s.length; i++) {
for (int j = 0; j < s.length; j++) {
if (s[i][j]) {
gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3);
}
}
}
}
gs.dispose();
bufferedImage.flush();
ImageIO.write(bufferedImage, "png", new File("src/com/snxun/QRCode/2.png"));
ImageIO.write(bufferedImage, "png", new File("E:/code/img2.png"));
}
}