Java生成二维码

来源:互联网 发布:重庆软件行业现状 编辑:程序博客网 时间:2024/05/29 18:05

一、准备工作

下载jar包:http://www.swetake.com/qrcode/

二、代码呈现

package com.test.demo1;import com.swetake.util.*;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.File;/** * 使用QR Code,二维码的产生于解析 */public class Qecode {    public static void main(String[] args)throws Exception{        Qrcode x=new Qrcode();        x.setQrcodeErrorCorrect('M');   //纠错等级:M、L、H、Q        x.setQrcodeEncodeMode('B');     //代表数字,A代表a-Z字符,B代表其他字符        x.setQrcodeVersion(7);      //版本号        int width = 67 + 12 *(7-1); //固定公式,使内容与外框保持同步        int height = 67 + 12 *(7-1);        String qrData="http://www.baidu.com";  //定义内容        BufferedImage bufferedImage = new BufferedImage(width,height,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("I:/SummerTest/test.png"));    }}

以上程序已验证!

原创粉丝点击