java生成二维码图片

生成二维码png图片

1.导入jar包

    Qrcode.jar

2.执行代码

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

import javax.imageio.ImageIO;

import com.swetake.util.Qrcode;


public class Test {
	

	public static void main(String[] args) {
		new Test().createImg("http://www.baidu.com/baidu?wd=asdasdasfsafassdasdsadasdas&tn=monline_4_dg", "D:\\logs\\", "QRCode");
		new Test().createImg("http://www.shanshanbox.com", "D:\\logs\\", "QRCode2");
	}
	
	public void createImg(String url, String folder, String fileName){
		int codeWidth;
		int unitWidth = 50;
        Qrcode qrcode=new Qrcode();  
        qrcode.setQrcodeErrorCorrect('M');/* L','M','Q','H' */  
        qrcode.setQrcodeEncodeMode('B');/* "N","A" or other */  
        qrcode.setQrcodeVersion(0);/* 0-20 */  
  
        String testString = url;  
  
        byte[] buff = null;  
        try {  
            buff = testString.getBytes("utf-8");  
        } catch (UnsupportedEncodingException e) {  
            e.printStackTrace();  
        }  
        System.out.println(buff.length);
        boolean[][] bRect = qrcode.calQrcode(buff);  
        codeWidth = bRect.length * unitWidth;  
  
        BufferedImage bi = new BufferedImage(codeWidth, codeWidth, BufferedImage.TYPE_INT_RGB);  
  
        // createGraphics  
        Graphics2D g = bi.createGraphics();  
  
        // set background  
        g.setBackground(Color.WHITE);  
        g.clearRect(0, 0, codeWidth, codeWidth);  
        g.setColor(Color.BLACK);  
        if (buff.length>0 && buff.length <123){  
  
            for (int i=0;i<bRect.length;i++){  
  
                for (int j=0;j<bRect.length;j++){  
                    if (bRect[j][i]) {  
                        g.fillRect(j*unitWidth, i*unitWidth, unitWidth, unitWidth);  
                    }  
                }  
  
            }  
        }  
  
        g.dispose();  
        bi.flush();  
  
        String FilePath=folder + fileName + ".png";  
        File f = new File(FilePath);  
  
        try {  
            ImageIO.write(bi, "png", f);  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
}  

猜你喜欢

转载自shuizhongyue.iteye.com/blog/2299537