google zxing 生成和解析二维码
Google 解析 生成 二维码 ZXing
2023-09-14 09:00:23 时间
maven 项目pom.xml文件配置
project xmlns= http://maven.apache.org/POM/4.0.0 xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation= http://maven.apache.org/POM/4.0.0 http://maven.a
zxing生成二维码和读取二维码 当然,首先要导入zxing的jar包。 生成二维码代码: package com.imooc.zxing; import java.io.File; import java.nio.file.
android 使用开源库zxing生成二维码,扫描二维码【转】 转自:http://blog.csdn.net/qq_16064871/article/details/52422723 zxing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的接口。
maven 项目pom.xml文件配置
project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" modelVersion 4.0.0 /modelVersion groupId com.shihy /groupId artifactId qrcode /artifactId version 0.0.1-SNAPSHOT /version packaging jar /packaging name qrcode /name url http://maven.apache.org /url properties project.build.sourceEncoding UTF-8 /project.build.sourceEncoding /properties dependencies dependency groupId com.google.zxing /groupId artifactId core /artifactId version 3.0.0 /version /dependency dependency groupId com.google.zxing /groupId artifactId javase /artifactId version 3.0.0 /version /dependency dependency groupId junit /groupId artifactId junit /artifactId version 4.10 /version scope test /scope /dependency dependency groupId com.alibaba /groupId artifactId fastjson /artifactId version 1.1.29 /version /dependency /dependencies /project
生成与解析二维码代码
package com.shihy.qrcode; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.nio.file.FileSystems; import java.nio.file.Path; import java.util.HashMap; import java.util.Map; import javax.imageio.ImageIO; import org.junit.Test; import com.alibaba.fastjson.JSONObject; import com.google.zxing.BarcodeFormat; import com.google.zxing.Binarizer; import com.google.zxing.BinaryBitmap; import com.google.zxing.DecodeHintType; import com.google.zxing.EncodeHintType; import com.google.zxing.LuminanceSource; import com.google.zxing.MultiFormatReader; import com.google.zxing.MultiFormatWriter; import com.google.zxing.NotFoundException; import com.google.zxing.Result; import com.google.zxing.WriterException; import com.google.zxing.client.j2se.BufferedImageLuminanceSource; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; import com.google.zxing.common.HybridBinarizer; public class QRCodeTest { /** * 生成图像 * * @throws WriterException * @throws IOException */ @Test public void testEncode() throws WriterException, IOException { String filePath = "D://"; String fileName = "zxing.png"; JSONObject json = new JSONObject(); json.put( "zxing", "https://github.com/zxing/zxing/tree/zxing-3.0.0/javase/src/main/java/com/google/zxing"); json.put("author", "shihy"); String content = json.toJSONString();// 内容 int width = 200; // 图像宽度 int height = 200; // 图像高度 String format = "png";// 图像类型 Map EncodeHintType, Object hints = new HashMap EncodeHintType, Object hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);// 设置生成什么类型的码,生成矩阵 Path path = FileSystems.getDefault().getPath(filePath, fileName); MatrixToImageWriter.writeToPath(bitMatrix, format, path);// 输出图像 System.out.println("输出成功."); } /** * 解析图像 */ @Test public void testDecode() { String filePath = "D://zxing.png"; BufferedImage image; try { image = ImageIO.read(new File(filePath)); LuminanceSource source = new BufferedImageLuminanceSource(image); Binarizer binarizer = new HybridBinarizer(source); BinaryBitmap binaryBitmap = new BinaryBitmap(binarizer); Map DecodeHintType, Object hints = new HashMap DecodeHintType, Object hints.put(DecodeHintType.CHARACTER_SET, "utf-8"); Result result = new MultiFormatReader().decode(binaryBitmap, hints);// 对图像进行解码 //System.out.println(result.getText()); JSONObject content = JSONObject.parseObject(result.getText()); System.out.println("图片中内容: "); System.out.println("author: " + content.getString("author")); System.out.println("zxing: " + content.getString("zxing")); System.out.println("图片中格式: "); System.out.println("encode: " + result.getBarcodeFormat()); } catch (IOException e) { e.printStackTrace(); } catch (NotFoundException e) { e.printStackTrace(); } } }
注:
代码中的字符集utf-8必须小写,不能大写,否则生成的二维码无法被其他终端识别,具体原因请参见博文
用Zxing 的core和javase包生成二维码,手机端无法识别,求指导
参考博文:
http://kesun-shy.iteye.com/blog/2154169
本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1661937
zxing生成二维码和读取二维码 当然,首先要导入zxing的jar包。 生成二维码代码: package com.imooc.zxing; import java.io.File; import java.nio.file.
android 使用开源库zxing生成二维码,扫描二维码【转】 转自:http://blog.csdn.net/qq_16064871/article/details/52422723 zxing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的接口。
相关文章
- 在Google搜索中玩打砖块
- Google搜索解析规则-更准确的使用谷歌搜索引擎获取到自己想要的内容
- How to do Google seo
- 注册谷歌Google账号时使用中国大陆手机号无法验证成功的解决办法
- [译] Google Go 风格指南
- 使用 Google Analytics 分析 WordPress 博客的活跃用户
- Google Friend Connect for WordPress 插件
- 你会用 Google 吗?看看你会几个?
- Google的“关于此结果”功能现在将显示用户获得特定搜索结果的原因
- 如何关闭Google Chrome中的通知提醒
- 将你的 Google Drive 连接到 Fedora 工作站
- Google携手Akamai 带来更快的DNS解析速度
- Google Talk是Google 的即时通讯方式,简称Gtalk。它可以进行文字 google talk聊天以及电脑对电脑的语音连接通话。Google此举进一步激化了它和雅虎,微软以及美国在线之间的竞争
- 独家探秘Google无人驾驶汽车:神秘的红色按钮(组图)
- ML in Google:回望 Google 开发者大会 2019
- Google Talk是Google 的即时通讯方式,简称Gtalk。它可以进行文字 google talk聊天以及电脑对电脑的语音连接通话。Google此举进一步激化了它和雅虎,微软以及美国在线之间的竞争
- Google推出售价449美元的Pixel 5A 配备更大的电池和屏幕还防水
- 白日梦干货:Google 大牛解析Daydream设计(一)
- Google官方支持的NodeJS访问API,提供后台登录授权