返回

开源软件

搜索 导航

01 二维码的生成

发布于: 2016-25-03   作者:知行133   来源:转载   浏览:
package javaee;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;



import javax.imageio.ImageIO;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;

public class QRCodeTest {
	private static final int BLACK=0xFF000000;
	private static final int WHITE=0xFFFFFFFF;
		
	public static void main(String[] args) throws IOException {
		//1、bitMatrix
		String text="http://www.baidu.com";
		int width=300;
		int height=300;
		HashMap<EncodeHintType,Object> hints=new HashMap<EncodeHintType, Object>();
		hints.put(EncodeHintType.CHARACTER_SET,"utf-8");
		BitMatrix bitMatrix;
		try {
			bitMatrix = new MultiFormatWriter().
					encode(text,BarcodeFormat.QR_CODE,width,height,hints);
			//2、bufferedImage
			BufferedImage image=new BufferedImage(bitMatrix.getWidth(),bitMatrix.getHeight(),BufferedImage.TYPE_INT_RGB);
			for(int x=0;x<bitMatrix.getWidth();x++){
				for(int y=0;y<bitMatrix.getHeight();y++){
					image.setRGB(x,y,bitMatrix.get(x,y)?BLACK:WHITE);
				}
			}
			//3、ImageIo输出图片到目标文件
			File file=new File("d:"+File.separator+"new.gif");
			String format="gif";
			ImageIO.write(image,format,file);
		} catch (WriterException e) {
			e.printStackTrace();
		}
		
	}

}


  • 0

    开心

  • 0

    板砖

  • 0

    感动

  • 0

    有用

  • 0

    疑问

  • 0

    难过

  • 0

    无聊

  • 0

    震惊

line
IT610手机版