java生成二维码
生成的二维码如下图:
package com.test;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Date;
import javax.imageio.ImageIO;
import com.swetake.util.Qrcode;
public class QRCodeEncoderTest {
/** Creates a new instance of QRCodeEncoderTest */
public QRCodeEncoderTest() {
}
public static void create_image(String sms_info) throws Exception {
try {
Qrcode testQrcode = new Qrcode();
testQrcode.setQrcodeErrorCorrect('M');
testQrcode.setQrcodeEncodeMode('B');
testQrcode.setQrcodeVersion(7);
String testString = sms_info;
byte[] d = testString.getBytes("gbk");
System.out.println(sms_info "字符串长度:" d.length);
// BufferedImage bi = new BufferedImage(98, 98,
// BufferedImage.TYPE_INT_RGB);
BufferedImage bi = new BufferedImage(98, 98,
BufferedImage.TYPE_BYTE_BINARY);
Graphics2D g = bi.createGraphics();
g.setBackground(Color.WHITE);
g.clearRect(0, 0, 98, 98);
g.setColor(Color.BLACK);
// 限制最大字节数为120
if (d.length > 0 && d.length < 120) {
boolean[][] s = testQrcode.calQrcode(d);
for (int i = 0; i < s.length; i ) {
for (int j = 0; j < s.length; j ) {
if (s[j][i]) {
g.fillRect(j * 2 3, i * 2 3, 2, 2);
}
}
}
}
g.dispose();
bi.flush();
File directory = new File("");//设定为当前文件夹
System.out.println("二维码保存目录:" directory.getAbsolutePath());//获取绝对路径
File f = new File(directory.getAbsolutePath() "\\" sms_info ".jpg");
if (!f.exists()) {
f.createNewFile();
}
// 创建图片
ImageIO.write(bi, "jpg", f);
} // end try
catch (Exception e) {
e.printStackTrace();
} // end catch
}
public static void main(String[] args) throws Exception {
System.out.println(new Date());
QRCodeEncoderTest.create_image("test");
System.out.println(new Date());
}
// end main
}
资源文件列表
.idea/libraries/Qrcodeen.xml , 210
.idea/misc.xml , 258
.idea/modules.xml , 252
.idea/workspace.xml , 17596
QRCodeEncoderTest.java , 2007
Qrcodeen.jar , 1038000
out/production/qrcode/.idea/libraries/Qrcodeen.xml , 210
out/production/qrcode/.idea/misc.xml , 258
out/production/qrcode/.idea/modules.xml , 252
out/production/qrcode/.idea/workspace.xml , 17596
out/production/qrcode/Qrcodeen.jar , 1038000
out/production/qrcode/com/test/QRCodeEncoderTest.class , 2852
out/production/qrcode/qrcode.iml , 485
qrcode.iml , 485
test.jpg , 6450
