maven

<!--二维码 zxing--><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.0.0</version></dependency>

工具类

package com.juan.platform.common.util;import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import lombok.extern.slf4j.Slf4j;
import sun.misc.BASE64Encoder;import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.util.Hashtable;/*** 功能描述:** @author zz* @version 1.0* @date 2019/5/30 18:59*/
@Slf4j
public class QrCodeUtil {/*** 功能描述: 生成二维码 BufferedImage.** @param content* @param qrWidth* @param qrHeight* @return java.awt.image.BufferedImage* @author zz* @date 2019/5/31 9:13*/public static BufferedImage getBufferImage(String content, int qrWidth, int qrHeight) throws Exception {Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);hints.put(EncodeHintType.CHARACTER_SET, "utf-8");hints.put(EncodeHintType.MARGIN, 1);BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, qrWidth, qrHeight, hints);int width = bitMatrix.getWidth();int height = bitMatrix.getHeight();BufferedImage image = new BufferedImage(qrWidth, qrHeight, BufferedImage.TYPE_INT_RGB);for (int x = 0; x < width; x++) {for (int y = 0; y < height; y++) {image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);}}log.debug("执行生成二维码 BufferedImage操作");return image;}/*** 功能描述:  生成base64格式二维码.** @param content  content* @param qrWidth  qrWidth* @param qrHeight qrHeight* @return string* @author zz* @date 2019/5/31 9:18*/public static String getBase64(String content, int qrWidth, int qrHeight) {ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();try {BufferedImage image = getBufferImage(content, qrWidth, qrHeight);//转换成png格式的IO流ImageIO.write(image, "png", byteArrayOutputStream);} catch (Exception e) {e.printStackTrace();}byte[] bytes = byteArrayOutputStream.toByteArray();BASE64Encoder encoder = new BASE64Encoder();String base64 = encoder.encodeBuffer(bytes).trim();base64 = "data:image/png;base64," + base64;log.debug("执行生成base64格式二维码操作");return base64;}/*** 功能描述:  test.** @param* @return* @author zz* @date 2019/5/30 19:27*/public static void main(String[] args) throws Exception {//  ImageIO.write(getBufferImage("4545454545", 500, 500), "jpg", new File("c:\\qrCode.jpg"));System.out.println("--base64--" + getBase64("4545454545", 500, 500));}
}

QrCodeUtil--二维码工具类相关推荐

  1. java将链接生成二维码工具类

    一.添加依赖 <!-- 生成二维码--><dependency><groupId>com.google.zxing</groupId><artif ...

  2. Java二维码工具类(使用zxing实现,可支持logo)

    本工具类基于Google二维码框架zxing3.1.0实现. 1. pom.xml中依赖包设置 <dependency><groupId>com.google.zxing< ...

  3. com.google.zxing 二维码工具类

    com.google.zxing 二维码工具类 pom 工具类 使用 pom <dependency><groupId>com.google.zxing</groupId ...

  4. Java二维码工具类(超详细注释)

    二维码工具类 准备工作: pom.xml 引入依赖 <!-- 二维码 --> <dependency><groupId>com.google.zxing</g ...

  5. Java生成和解析二维码工具类(简单经典)

    Java生成和解析二维码工具类 开箱即用,简单不废话. pom.xml引入依赖 <!-- https://mvnrepository.com/artifact/com.google.zxing/ ...

  6. java生成二维码工具类

    1,先引入谷歌的插件zxing的maven坐标 <!-- 二维码 --><dependency><groupId>com.google.zxing</grou ...

  7. 分享一个Java生成二维码工具类

    分享一个Java生成二维码工具类 直接上代码: 1.CodeUtil.class package top.lrshuai.blog.util;import java.awt.BasicStroke; ...

  8. 2021-08-26(条形码,二维码工具类生成)

    公司需要对商品的条码值生成对应的条形码,目前市面上的有的条码库分为: JBarcode,zxing jbarcode这个包在maven的官方仓库找不到,所以需要自己添加到本地仓库然后编写pom文件就可 ...

  9. Android-生成二维码工具类

    目录 二维码生成工具类 二维码生成工具类 /*** 生成条形码和二维码的工具*/ public class ZXingUtils {/*** 生成二维码 要转换的地址或字符串,可以是中文** @par ...

  10. Android 生成二维码工具类

    /*** 生成条形码和二维码的工具*/ public class ZXingUtils {/*** 生成二维码 要转换的地址或字符串,可以是中文** @param url* @param width* ...

最新文章

  1. 师范类专业物理和计算机选哪个,师范专业太多,哪些师范专业含金量高?资深教师:选这4个就对了...
  2. Oracle中PLSQL中一个例外的写法
  3. 2016经典微小说:《轮回》
  4. 连接mysql超时时间设置多少_怎么设置数据库的连接数和连接超时时间
  5. 深度学习-吴恩达-笔记-4-深层神经网络
  6. 【转】Jenkins怎么启动和停止服务
  7. 虚拟机卸载ubuntu安装mysql_ubuntu 卸载与安装mysql
  8. Ubuntu安装完驱动后进不去界面
  9. 2019年下半年教师资格中学《综合素质》真题与参考答案
  10. U3D场景制作规范(转)
  11. 线性代数矩阵行列式_矩阵的行列式 使用Python的线性代数
  12. PHP快递查询接口api和快递单号智能判断PHP代码
  13. 服务器显示时间差8个小时,服务器时间相差8小时 原因与解决方法
  14. pytorch 中的torch.bmm
  15. 用PyTorch进行手写数字识别
  16. 学习VTK9笔记(三)打开stl文件
  17. 软件测试的“道”与“术” - 软件测试新观察(转载崔启亮的文章)
  18. 【Ubuntu安装git与git clone远程仓库】
  19. 123道c++笔试题汇总
  20. 二进制安装K8S - NODE 节点的安装

热门文章

  1. Repeater三级嵌套
  2. WebRTC系列-音频ADM播放采集的停止与开始
  3. 客服正全面转向云化 没想到带头大哥是文思海辉
  4. android录音频谱动画,android获取和展示音乐的频谱
  5. MATLAB微分和导数
  6. HDFS Router-based Federation
  7. Android创建Excel表格
  8. 人脸识别最全知识图谱—清华大学出品(附全文下载)
  9. 2018结构、流体、热分析、多物理场耦合、电磁仿真计算特点与硬件配置方案分析
  10. java研究所APP打开_Java是什么,学了我们能干什么?