栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java实现批量生成二维码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java实现批量生成二维码

本文实例为大家分享了java实现批量生成二维码的具体代码,供大家参考,具体内容如下

package com.youge.test;

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 java.util.HashMap;
import java.util.Map;

import javax.imageio.ImageIO;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import com.swetake.util.Qrcode;
import com.youge.util.JdbcDao;
import com.youge.util.WebUtil;


public class Test {
  private JdbcTemplate jt = JdbcDao.getJdbcTemplate();
  public static void main(String[] args) throws IOException {
    Test t=new Test();
    for(int i=2018700001;i<2018700003;i++){
      Map map=new HashMap<>();
      String q_qrcode=i+"";//http://www.injiaxing.com:8080/youge/mApply/home.shtml?p_qrcode=
      String p_code=i+"";
      map.put("q_qrcode", q_qrcode);
      map.put("p_code", p_code);
      t.insertQrcode(map);
      t.createQrcode(i+"");
    }
  }

  public int insertQrcode(Map params){
    String sql=" insert into y_qrcode (q_qrcode,p_code) values(?,?)";
    return jt.update(sql,params.get("q_qrcode"),params.get("p_code"));
  }

  public void createQrcode(String str) throws IOException{
    //计算二维码图片的高宽比
    // API文档规定计算图片宽高的方式 ,v是本次测试的版本号
    int v =6;
    int width = 67 + 12 * (v - 1);
    int height = 67 + 12 * (v - 1);


    Qrcode x = new Qrcode();
    
    x.setQrcodeErrorCorrect('L');
    x.setQrcodeEncodeMode('B');//注意版本信息 N代表数字 、A代表 a-z,A-Z、B代表 其他)
    x.setQrcodeVersion(v);//版本号 1-40
    String qrData = "http://www.injiaxing.com:8080/youge/mApply/home.shtml?p_qrcode="+str;//内容信息

    byte[] d = qrData.getBytes("utf-8");//汉字转格式需要抛出异常

    //缓冲区
    BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);

    //绘图
    Graphics2D gs = bufferedImage.createGraphics();

    gs.setBackground(Color.WHITE);
    gs.setColor(Color.BLACK);
    gs.clearRect(0, 0, width, height);

    //偏移量
    int pixoff = 2;


    
    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("D:/qrcode/"+str+".png"));
    System.out.println("二维码生成完毕");
  }


}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/138086.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号