zoukankan      html  css  js  c++  java
  • 通过QRCode生成二维码与解码

    先决条件:

    1. 需要的JAR包qrcode.jar(官网介绍),直接下载QRCode.jar

    将QRCode.jar 加入到Maven库

    mvn install:install-file -DgroupId=[包名] -DartifactId=[项目名] -Dversion=[版本号] -Dpackaging=[jar] -Dfile=[jar文件所在路径]

     例子:

     mvn install:install-file -DgroupId=com.swetake -DartifactId=QRCode -Dversion=0.9 -Dpackaging=jar -Dfile=./QRCode.jar

     

    package com.jc.de.qr;

    /**
    * Created by Shylock on 14/12/31.
    */

    import com.swetake.util.Qrcode;

    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;


    public class QRCodeFactory {

    public static BufferedImage createQRCode(String text,Integer...version) throws UnsupportedEncodingException {
    Qrcode qrcode = new Qrcode();
    int v = 3;
    if (version != null&&version.length!=0) v =version[0];
    if (text == null ||text.trim().equals(""))return null;
    byte[] content = text.getBytes("utf-8");

    boolean[][] codeOut = qrcode.calQrcode(content);
    int size = codeOut.length*10+10;

     BufferedImage bufferedImage = new BufferedImage(size,size,BufferedImage.TYPE_INT_RGB);

     Graphics2D graphics = bufferedImage.createGraphics();
     graphics.setBackground(Color.WHITE);
     graphics.clearRect(0, 0, size, size);
     graphics.setColor(Color.BLACK);
    if (content.length > 0 && content.length < 120) {
    for (int i = 0; i < codeOut.length; i++) {
    for (int j = 0; j < codeOut.length; j++) {
    if (codeOut[j][i]) {
    graphics.fillRect(j * 10 + 5, i * 10 + 5, 10, 10);
     }
    }
    }
    } else {
    throw new UnsupportedEncodingException("QRCode content bytes length = " + content.length + " not in [ 0,120 ]. ");
     }
    graphics.dispose();
     bufferedImage.flush();
    return bufferedImage;
     }
    /**
    * 方法描述:
    *
    * @param args
     * @throws UnsupportedEncodingException
    */
     public static void main(String[] args) throws UnsupportedEncodingException {

    File imgFile = new File("/Users/Shylock/Desktop/test.png");
    // 生成二维码QRCode图片

     try {
    //图片格式
     ImageIO.write(createQRCode("http://www.baidu.com",3,600), "png", imgFile);
     Desktop.getDesktop().open(imgFile);
     } catch (IOException e) {
    e.printStackTrace();
     }

    }
    }
     
    thinking and coding
  • 相关阅读:
    请求报文的方法及get与post的区别
    fiddler响应报文的headers属性详解
    fiddler请求报文的headers属性详解
    Session与Cookie的区别
    python学习之函数(四)--递归
    python学习之函数(四)--lambda表达式
    python学习之函数(三)--函数与过程
    python学习之函数(二)——参数
    python学习之序列
    python学习之函数(一)
  • 原文地址:https://www.cnblogs.com/codesir/p/4196893.html
Copyright © 2011-2022 走看看