jquery-qrcode 生成和读取二维码

简介: 首先要导入jar包(生成二维码的jar和读取二维码的jar)  生成二维码:package com.imooc.qrcode;import java.awt.Color;import java.

首先要导入jar包(生成二维码的jar和读取二维码的jar)

 

 生成二维码:

package com.imooc.qrcode;

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;


/**
 * QRCode 生成方法
 * 
 * 
 * @author Administrator
 *
 */
public class CreateQRCode {

    public static void main(String[] args) {
        Qrcode x = new Qrcode();
        x.setQrcodeEncodeMode('M');//纠错等级
        x.setQrcodeEncodeMode('B');
        x.setQrcodeVersion(7);//版本
        
        
        String qrData = "http://www.baidu.com";
        int width = 67 + 12 * (7-1);
        int height = 67 + 12 * (7-1);
        
        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;
        try {
            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("E:/code/img1.png"));
            
            
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }

}

 

 

 

 

生成二维码如下:

 

 

 

 

 读取二维码:

package com.imooc.qrcode;

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

import javax.imageio.ImageIO;

import jp.sourceforge.qrcode.QRCodeDecoder;


/**
 * QRCode 读取方法
 * 
 * @author Administrator
 *
 */
public class ReadQRCode {

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

}

 

中间类:

package com.imooc.qrcode;

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() {
        return bufferedImage.getHeight();
    }

    @Override
    public int getPixel(int arg0, int arg1) {
        return bufferedImage.getRGB(arg0, arg1);
    }

    @Override
    public int getWidth() {
        return bufferedImage.getWidth();
    }

}

 

运行结果:

http://www.baidu.com

 

相关文章
|
11天前
|
前端开发
jquery.qrcode如何切换新的二维码
jquery.qrcode如何切换新的二维码
11 0
|
JavaScript 前端开发
【JavaScript】关于jquery把网址变成二维码
【JavaScript】关于jquery把网址变成二维码
83 0
【JavaScript】关于jquery把网址变成二维码
|
JavaScript 前端开发
jquery-qrcode生成二维码
一、jquery-qrcode   jquery-qrcode是一个为浏览器生成二维码的jquery插件。我们很容易将它集成到我们的应用。该插件也可以独立使用,也比较小。它是直接在客户端生成二维码生成。
1169 0
|
前端开发 JavaScript
使用jquery-qrcode生成二维码
一、使用jquery-qrcode生成二维码 先简单说一下jquery-qrcode,这个开源的三方库(可以从https://github.com/jeromeetienne/jquery-qrcode 获取), qrcode.
985 0
|
7月前
|
JavaScript
Jquery插件知识之Jquery.cookie实现页面传值
Jquery插件知识之Jquery.cookie实现页面传值
39 0
|
8月前
|
JavaScript
jQuery 插件自用列表
jQuery 插件自用列表
30 0
|
11天前
|
JavaScript
jQuery图片延迟加载插件jQuery.lazyload
jQuery图片延迟加载插件jQuery.lazyload
|
11天前
|
JavaScript 数据可视化 前端开发
jQuery-JS插件-第9次课-使用插件让领导对你刮目相看-附案例作业
jQuery-JS插件-第9次课-使用插件让领导对你刮目相看-附案例作业
22 0
|
9月前
|
JavaScript
jQuery编写插件的两种方法
jQuery编写插件的两种方法
59 0
|
11天前
|
JavaScript 前端开发
开发jQuery插件这些就够了
开发jQuery插件这些就够了
33 0