谷歌zxing 二维码生成工具
一、加入maven依赖
<!-- 谷歌zxing 二维码 --> <dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.3.3</version> </dependency> <dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.3.3</version> </dependency>
二、工具类代码
1 package com.example.demo.utils; 2 3 import com.google.zxing.*; 4 import com.google.zxing.client.j2se.BufferedImageLuminanceSource; 5 import com.google.zxing.common.BitMatrix; 6 import com.google.zxing.common.HybridBinarizer; 7 import com.google.zxing.qrcode.QRCodeReader; 8 import com.google.zxing.qrcode.QRCodeWriter; 9 import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; 10 11 import javax.imageio.ImageIO; 12 import java.awt.*; 13 import java.awt.image.BufferedImage; 14 import java.io.*; 15 import java.util.Hashtable; 16 17 /** 18 * @author zsh 19 * @company wlgzs 20 * @create 2019-03-10 15:17 21 * @Describe 二维码生成和读的工具类 22 */ 23 public class QrCodeCreateUtil { 24 /** 25 * 生成包含字符串信息的二维码图片 26 * @param outputStream 文件输出流路径 27 * @param content 二维码携带信息 28 * @param qrCodeSize 二维码图片大小 29 * @param imageFormat 二维码的格式 30 * @throws WriterException 31 * @throws IOException 32 */ 33 public static boolean createQrCode(OutputStream outputStream, String content, int qrCodeSize, String imageFormat) throws WriterException, IOException{ 34 //设置二维码纠错级别MAP 35 Hashtable<EncodeHintType, ErrorCorrectionLevel> hintMap = new Hashtable<EncodeHintType, ErrorCorrectionLevel>(); 36 hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L); // 矫错级别 37 QRCodeWriter qrCodeWriter = new QRCodeWriter(); 38 //创建比特矩阵(位矩阵)的QR码编码的字符串 39 BitMatrix byteMatrix = qrCodeWriter.encode(content, BarcodeFormat.QR_CODE, qrCodeSize, qrCodeSize, hintMap); 40 // 使BufferedImage勾画QRCode (matrixWidth 是行二维码像素点) 41 int matrixWidth = byteMatrix.getWidth(); 42 BufferedImage image = new BufferedImage(matrixWidth-200, matrixWidth-200, BufferedImage.TYPE_INT_RGB); 43 image.createGraphics(); 44 Graphics2D graphics = (Graphics2D) image.getGraphics(); 45 graphics.setColor(Color.WHITE); 46 graphics.fillRect(0, 0, matrixWidth, matrixWidth); 47 // 使用比特矩阵画并保存图像 48 graphics.setColor(Color.BLACK); 49 for (int i = 0; i < matrixWidth; i++){ 50 for (int j = 0; j < matrixWidth; j++){ 51 if (byteMatrix.get(i, j)){ 52 graphics.fillRect(i-100, j-100, 1, 1); 53 } 54 } 55 } 56 return ImageIO.write(image, imageFormat, outputStream); 57 } 58 59 /** 60 * 读二维码并输出携带的信息 61 */ 62 public static void readQrCode(InputStream inputStream) throws IOException{ 63 //从输入流中获取字符串信息 64 BufferedImage image = ImageIO.read(inputStream); 65 //将图像转换为二进制位图源 66 LuminanceSource source = new BufferedImageLuminanceSource(image); 67 BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); 68 QRCodeReader reader = new QRCodeReader(); 69 Result result = null ; 70 try { 71 result = reader.decode(bitmap); 72 } catch (ReaderException e) { 73 e.printStackTrace(); 74 } 75 System.out.println(result.getText()); 76 } 77 /** 78 * 测试代码 79 * @throws WriterException 80 */ 81 public static void main(String[] args) throws IOException, WriterException { 82 83 createQrCode(new FileOutputStream(new File("d:\\qrcode.jpg")),"WE1231238239128sASDASDSADSDWEWWREWRERWSDFDFSDSDF123123123123213123",900,"JPEG"); 84 readQrCode(new FileInputStream(new File("d:\\qrcode.jpg"))); 85 } 86 }
效果图:
转载于:https://www.cnblogs.com/zsh-blogs/p/10505430.html
谷歌zxing 二维码生成工具相关推荐
- zxing二维码生成工具类
图片生成工具生成 1.支持多中形式的图片,二维码,条形码 2.支持一张图片多个二维码 3.支持二维码图片上加logo 4.支持图片头部底部添加文字描述 public class ZxingEncode ...
- 谷歌zxing 二维码后台生成,并在前端展示以及下载
一.展示效果 数据表格row按钮 点击查看二维码:跳转新窗口,也可以做弹窗,新窗口是为了方便直接通过浏览器打印 点击下载:保存到浏览器下载路径 二.后台代码 1. pom引入依赖 <depend ...
- 支付宝支付 第五集:二维码生成工具
支付宝支付 第五集:二维码生成工具 一.代码 目录结构 BufferedImageLuminanceSource.java package com.dzy.alipay.qrcode;import c ...
- zxing 二维码生成深度定制
二维码生成服务之深度定制 之前写了一篇二维码服务定制的博文,现在则在之前的基础上,再进一步,花样的实现深度定制的需求,我们的目标是二维码上的一切都是可以由用户来随意指定 设计 1. 技术相关 zxin ...
- 二维码 生成工具类(文件转Base64字符串,Base64字符串转文件)
希望我的知识榨干了能帮到你解除困难,要是没有帮助你的,问度娘和知爹 一.POM.xml依赖下载 二.工具类提供 一.POM.xml依赖下载 <!-- 生成二维码依赖 --><depe ...
- Java:二维码生成工具类
java 二维码生成工具类 需要引入的maven <!--Java 生成二维码 --> <dependency><groupId>com.google.zxing& ...
- 二维码生成工具微信小程序源码下载
二维码生成工具 支持上传二维码logo和调整尺寸背景颜色等等 无需域名与服务器 使用教程,用HBuilder X软件打卡项目然后运行到微信小程序即可 下方是演示图: 小程序源码下载地址: (已更新)二 ...
- 软件推荐——二维码生成工具(绿色版)
Simple Code Generator 二维码生成工具 软件介绍: Simple Code Generator是一款适用于Windows的简单工具,它允许您快速生成二维码,以便在智能手机上使用应用 ...
- QT-C++二维码生成工具(支持中文等任何字符的使用)
QT-C++二维码生成工具 前言 1.效果预览 1.核心程序 全部程序 前言 QT/C++生成二维码程序,支持二维码图片本地保存功能. 1.效果预览 1.核心程序 如下: // 生成二维码图片QStr ...
最新文章
- 介绍 9 款 MySQL 常见的图形化工具,第三款我用了 10 年
- Centos 7 安装 Haproxy
- 【Pygame小游戏】首月破亿下载 一款高度融合了「超休闲游戏特性」的佳作~
- mysql重装远程服务未_CentOS 7系统安装与远程连接MySQL(5.7)
- Android数据库升级实例
- input type=file 实现上传、预览、删除等功能
- Java高级补充(Socket服务端、客户端)、Handler类、安卓Socket传数据、WebView
- mysql二进制方式_MySQL数据库之MySql二进制连接方式详解
- 单片机实验-定时中断
- linux中磁盘的iused,Linux 磁盘与文件系统管理
- 一次shell脚本小事故,从中学习排错过程-软件测试
- 5.Docker之镜像的使用
- could not connect to server: No route to host 	Is the server running on host 192.168.163.181 and a
- mysql 分页拦截器_MyBatis 拦截器 (实现分页功能)
- HotSpot VM运行时02---VM生命周期
- .net 平台下的File.Exists和directory .Exists()
- 著名TED演讲 《用肢体语言塑造你自己》 - Amy Cuddy
- 游戏辅助,python制作王者荣耀刷金币脚本!
- Excel如何快速在指定字符后面插入文本
- 安装了本地MySQL后,小皮面板上的MySQL就一直启动失败