概述

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小时内与您取得联系。