コードのJava言語数十ラインが簡単に二次元のプログラムを取得します

プログラムを作成するための二次元コードの簡単なJava実装のための低レベルのコード、Eclipseを使用することができますし、アイデアを実装することができ、キーは、インポートの権利を所有している、このプログラムが参照する2次元コードの作者が用意したパッケージなので、達成するためにこれらは、パッケージ内部に封入されています

package com.ps.aibianmadechengxuyuan;

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

import javax.imageio.ImageIO;

import com.swetake.util.Qrcode;

public class CreateQRCore {

	public static void main(String[] args) throws Exception{
		// TODO Auto-generated method stub
		Qrcode x=new Qrcode();//jar 包里面的黑核心类
		x.setQrcodeErrorCorrect('M');//纠错等级
		x.setQrcodeEncodeMode('B');//N代表的是数字,A代表a-z,B代表其他字符
		x.setQrcodeVersion(7);//版本,1-40
		String qrData="微信公众号:爱编码的程序员";
		
		int width =67+12*(7-1);
		int height =67+12*(7-1);
		//创建一个缓冲区的图片
		BufferedImage bufferedImage =new BufferedImage(67+12*(7-1),67+12*(7-1),BufferedImage.TYPE_INT_RGB);
		//通过画图工具
		Graphics2D gs =bufferedImage.createGraphics();
		//设置属性
		gs.setBackground(Color.WHITE);
		gs.setColor(Color.black);
		gs.clearRect(0, 0, width, height);
		
		
		int pixoff=2;//偏移量
		
		byte[] d =qrData.getBytes("gb2312");
		if (d.length>0&&d.length<120) {
			boolean[][] s =x.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:/code/qrcode1.png"));
	}

}

package com.ps.aibianmadechengxuyuan;
/*wei xin gong zong hao :爱编码的程序员*/
import java.awt.image.BufferedImage;

import jp.sourceforge.qrcode.data.QRCodeImage;

public class MYQRCodeImage implements QRCodeImage {

	BufferedImage bufferedImage;
	
	
	public MYQRCodeImage(BufferedImage bufferedImage) {
		this.bufferedImage=bufferedImage;
		
		
	}
	
	
	@Override
	public int getHeight() {
		// TODO Auto-generated method stub
		return bufferedImage.getHeight();
	}

	@Override
	public int getPixel(int arg0, int arg1) {
		// TODO Auto-generated method stub
		return bufferedImage.getRGB(arg0, arg1);
	}

	@Override
	public int getWidth() {
		// TODO Auto-generated method stub
		return bufferedImage.getWidth();
	}

}

package com.ps.aibianmadechengxuyuan;
/*wei xin gong zong hao: 爱编码的程序员**/
import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;
import java.io.IOException;
import jp.sourceforge.qrcode.QRCodeDecoder;

public class ReadQRCode {

	public static void main(String[] args)  throws Exception {
		File file =new File("D:/code/qrcode1.png");
		BufferedImage bufferedImage=ImageIO.read(file);
		
		QRCodeDecoder codeDecoder =new QRCodeDecoder();
		
	String result=	new String (codeDecoder.decode(new MYQRCodeImage(bufferedImage)),"gb2312");
	System.out.println("result");
	}

}

効果達成の図は、正方形の2次元コードで、識別情報があるCreateQRCoreクラスString qrData="微信公众号:爱编码的程序员"コンテンツ、あなたは、あなたがページにジャンプしますスキャンコードを達成したいなど、String qrDataあなたが達成したいあなたのURLがそれにバックアップ書き換えをA。

おすすめ

転載: blog.csdn.net/weixin_43501566/article/details/104942441