首页

java 生成二维码图片 示例源码

java

2020-7-7

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
}
资源下载此资源下载价格为2D币(VIP免费),请先
资源文件列表
.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
没有账号? 忘记密码?

社交账号快速登录