java编写二维码整理

所用jar包:QRCode.jar

具体代码:

package QRCode;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import com.swetake.util.Qrcode;

public class QRCode {

	public static void main(String[] args) throws IOException {
		Qrcode qrcode = new Qrcode();  
                qrcode.setQrcodeErrorCorrect('L');//排错率 可选L(7%)、M(15%)、Q(25%)、H(30%)
		qrcode.setQrcodeEncodeMode('B');//N数字 ;A a-z;B其他字符
		qrcode.setQrcodeVersion(10);
		//二维码中储存的信息
		String qrInfo = "http://www.mail.163.com";
		//二维码大小
		int width=200;
		int height=200;
		//绘图
		BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);
		//创建画板
		Graphics2D gs = bufferedImage.createGraphics();
		gs.setBackground(Color.WHITE);
		gs.setColor(Color.BLACK);
		gs.clearRect(0, 0, width, height);//清除画板内容
		int pixoff = 15;//设置偏移量
		byte[] d = qrInfo.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[j][i]){
						gs.fillRect(j*3+pixoff, i*3+pixoff, 3, 3);
					}
				}
			}
		}
		//生成二维码
		gs.dispose();
		bufferedImage.flush();
		ImageIO.write(bufferedImage, "png", new File("D:/qrcode.png"));//二维码生成位置

	}
}

借鉴https://blog.csdn.net/u012453843/article/details/71512104

猜你喜欢

转载自blog.csdn.net/qq_37189793/article/details/80832034