全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java中ZXing 生成、解析二维码图片的小示例

概述

ZXing 是一个开源 Java 类库用于解析多种格式的 1D/2D 条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括:J2ME、J2SE和Android。

官网:ZXing github仓库

实战

本例演示如何在一个非 android 的 Java 项目中使用 ZXing 来生成、解析二维码图片。

安装

maven项目只需引入依赖:

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

如果非maven项目,就去官网下载发布版本:下载地址 

生成二维码图片

ZXing 生成二维码图片有以下步骤:

1.com.google.zxing.MultiFormatWriter 根据内容以及图像编码参数生成图像2D矩阵。

2.​ com.google.zxing.client.j2se.MatrixToImageWriter 根据图像矩阵生成图片文件或图片缓存 BufferedImage 。

public void encode(String content, String filepath) throws WriterException, IOException {
  int width = 100;
  int height = 100;
  Map<EncodeHintType, Object> encodeHints = new HashMap<EncodeHintType, Object>();
  encodeHints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
  BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, encodeHints);
  Path path = FileSystems.getDefault().getPath(filepath);
  MatrixToImageWriter.writeToPath(bitMatrix, "png", path);
}

解析二维码图片

ZXing 解析二维码图片有以下步骤:

1.使用 javax.imageio.ImageIO 读取图片文件,并存为一个 java.awt.image.BufferedImage 对象。

2.将 java.awt.image.BufferedImage 转换为 ZXing 能识别的 com.google.zxing.BinaryBitmap 对象。

3.com.google.zxing.MultiFormatReader 根据图像解码参数来解析 com.google.zxing.BinaryBitmap 。

public String decode(String filepath) throws IOException, NotFoundException {
  BufferedImage bufferedImage = ImageIO.read(new FileInputStream(filepath));
  LuminanceSource source = new BufferedImageLuminanceSource(bufferedImage);
  Binarizer binarizer = new HybridBinarizer(source);
  BinaryBitmap bitmap = new BinaryBitmap(binarizer);
  HashMap<DecodeHintType, Object> decodeHints = new HashMap<DecodeHintType, Object>();
  decodeHints.put(DecodeHintType.CHARACTER_SET, "UTF-8");
  Result result = new MultiFormatReader().decode(bitmap, decodeHints);
  return result.getText();
}

完整参考示例:测试例代码

以下是一个生成的二维码图片示例:

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


# java  # zxing生成二维码  # zxing解析二维码  # java二维码生成和解析  # Java利用Zxing生成二维码的简单实例  # java中使用zxing批量生成二维码立牌  # java ZXing生成二维码及条码实例分享  # Java中基于maven实现zxing二维码功能  # Java使用Google Zxing生成二维码的例子  # 基于google zxing的Java二维码生成与解码  # Java基于zxing生成二维码矩阵过程解析  # java zxing合成复杂二维码图片示例详解  # Java使用Zxing二维码生成的简单示例  # Java基于Google zxing生成带logo的二维码图片  # 是一个  # 官网  # 下载地址  # 只需  # 就去  # 转换为  # 开源  # 大家多多  # 客户端  # 本例  # 类库  # 如何在  # nbsp  # strong  # encode  # br  # version  # javase  # core  # String 


相关文章: 建站三合一如何选?哪家性价比更高?  音乐网站服务器如何优化API响应速度?  如何基于PHP生成高效IDC网络公司建站源码?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  创业网站制作流程,创业网站可靠吗?  如何通过山东自助建站平台快速注册域名?  建站168自助建站系统:快速模板定制与SEO优化指南  如何在万网开始建站?分步指南解析  如何在阿里云完成域名注册与建站?  如何通过虚拟机搭建网站?详细步骤解析  深圳网站制作平台,深圳市做网站好的公司有哪些?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何选择美橙互联多站合一建站方案?  济南专业网站制作公司,济南信息工程学校怎么样?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  建站主机如何选?性能与价格怎样平衡?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  高防服务器:AI智能防御DDoS攻击与数据安全保障  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  香港服务器WordPress建站指南:SEO优化与高效部署策略  网站制作话术技巧,网站推广做的好怎么话术?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何彻底卸载建站之星软件?  建站主机数据库如何配置才能提升网站性能?  如何快速生成ASP一键建站模板并优化安全性?  常州自助建站工具推荐:低成本搭建与模板选择技巧  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  如何在企业微信快速生成手机电脑官网?  如何在IIS服务器上快速部署高效网站?  建站之星如何快速更换网站模板?  代刷网站制作软件,别人代刷火车票靠谱吗?  动图在线制作网站有哪些,滑动动图图集怎么做?  浅析上传头像示例及其注意事项  网站插件制作软件免费下载,网页视频怎么下到本地插件?  如何在香港免费服务器上快速搭建网站?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  如何在宝塔面板中修改默认建站目录?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  如何通过网站建站时间优化SEO与用户体验?  已有域名如何快速搭建专属网站?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  网站微信制作软件,如何制作微信链接?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  如何配置支付宝与微信支付功能?  如何在万网自助建站平台快速创建网站?  Python文件管理规范_工程实践说明【指导】  如何选择高性价比服务器搭建个人网站?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。