当前位置: 首页 > news >正文

管理网站科技部

管理网站,科技部,做网站后开办会员,手机模板网站制作Hi I’m Shendi Java简单的生成/解析二维码(zxing qrcode) 在之前使用 qrcode.js 方式生成二维码,但在不同设备上难免会有一些兼容问题,于是改为后端(Java)生成二维码图片 这里使用 Google 的 zxing包 Jar…

Hi I’m Shendi


Java简单的生成/解析二维码(zxing qrcode)

在之前使用 qrcode.js 方式生成二维码,但在不同设备上难免会有一些兼容问题,于是改为后端(Java)生成二维码图片


这里使用 Google 的 zxing包



Jar包引入


Github:https://github.com/zxing/zxing


通过 Maven 引入

<dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version>
</dependency>
<dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.5.1</version>
</dependency>

也可以直接在 maven 仓库中下载 jar(javase和core两个)

例如阿里云maven仓库

https://developer.aliyun.com/mvn/search


在这里插入图片描述


或者微信搜一搜 “砷碲的学识仓库”,发送 “100001” 直接下载jar包




生成二维码

简单的三步就可以生成二维码

  1. 创建QRCodeWriter
  2. 创建二维码
  3. 输出二维码

例如将二维码输出到 H:/1.png,代码如下

import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;/** @author Shendi */
public class Test {public static void main(String[] args) throws Exception {QRCodeWriter qcWrite = new QRCodeWriter();// encode函数的四个参数分别是 内容,格式,宽,高BitMatrix bm = qcWrite.encode("https://sdpro.top", BarcodeFormat.QR_CODE, 500, 500);// 输出到 H:/1.png, writeToPath有三个参数,(BitMatrix,格式,输出地址)MatrixToImageWriter.writeToPath(bm, "PNG", Path.of("H:/1.png"));}}

代码运行后效果如下

在这里插入图片描述



如果要将二维码变成字节数组,可以使用MatrixToImageWriter的writeToStream,输出到流




二维码接口

例如传递一个字符串将此字符串变为二维码的形式输出(http),这里使用SpringBoot的形式写的接口,供直接复制使用,代码如下

/*** 生成二维码.* @param content	二维码内容* @param req		请求* @param resp		响应*/
@GetMapping("/code")
public void create(String content, HttpServletRequest req, HttpServletResponse resp) {QRCodeWriter qcWrite = new QRCodeWriter();try {BitMatrix bm = qcWrite.encode(content, BarcodeFormat.QR_CODE, 500, 500);// 设置响应为图片数据resp.setContentType("image/png");MatrixToImageWriter.writeToStream(bm, "PNG", resp.getOutputStream());} catch (Exception e) {e.printStackTrace();}}



解析二维码

通过 QRCodeReader 解析二维码,例如解析刚刚生成的二维码,代码如下

import java.awt.image.BufferedImage;
import java.io.File;import javax.imageio.ImageIO;import com.google.zxing.BinaryBitmap;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.qrcode.QRCodeReader;/** @author Shendi */
public class Test {public static void main(String[] args) throws Exception {QRCodeReader qcReader = new QRCodeReader();// 这里的ImageIO也可以read输入流BufferedImage img = ImageIO.read(new File("H:/1.png"));BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(img)));Result result = qcReader.decode(bitmap);System.out.println("二维码内容: " + result.getText());}}

运行效果如下

在这里插入图片描述




END

http://www.yayakq.cn/news/502459/

相关文章:

  • html5 企业网站wordpress 点击 排名
  • 网站建设痛点搜狗推广开户费多少钱
  • 淘客怎么做网站wordpress可以上传文件吗
  • 呼市做网站建设的公司哪家好攻击自己做的网站
  • 网站建设与管理 需求分析网站建设ahxkj
  • 如何做电影网站狼视听赣州信息港主页
  • 网站上传文件存储方式人网站建站
  • 本地网站源码cps推广
  • 天津品牌网站建设公司排名建设通app官网下载安装
  • 平面设计展示网站河南省建设工会网站
  • 室内设计网站免费素材移动端模板网站建设
  • 石家庄网站建设哪家专业企航网络推广
  • 网站平台建设方案书手机网站用什么软件做的好
  • 建设网站公司浩森宇特郑州做网站那家好
  • 网站改版索引量下降制作企业网站需要注意的事项
  • 毕设做网站的系统概述怎么写商城类网站建设
  • 公司网站运营网站服务器建设的三种方法是什么
  • 专业的河南网站建设价格个人订阅号支持微网站的建设吗
  • 上海做网站的故事哪家好注册域名后网站建设
  • 哪家做网站好的南阳优化网站排名
  • 网站设计协议做网站竞争大吗
  • dns服务器 域名不存在时 跳转到指定网站国家建设协会官方网站
  • 大连省建设厅网站移动公司需要网络工程专业
  • 自己建网站要学什么建设网站注意事项
  • 网站怎么做百度快照以下属于网站seo的内容是
  • 济南网站制作做html的软件
  • 弄美团网站的一般一个做赚多少钱佛山百度关键词seo外包
  • 制作网站需要多少时间临沂网
  • 做资源网站wordpress 评论 顶 踩
  • 哪里有网站监控工具wordpress 多域名301重定向代码