ZXing二维码介绍
ZXing(Zebra Crossing)是Google开发的一个二维码解析和生成的开源库。
ZXing GitHub地址
引入
<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>
public class QRCodeUtil {/*** 生成二维码* @param content 源内容* @param outputStream 输出流* @throws Exception*/public static void createQRImage(String content, OutputStream outputStream) throws Exception {Hashtable hints = new Hashtable();// 指定纠错等级hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);hints.put(EncodeHintType.CHARACTER_SET, "utf-8");hints.put(EncodeHintType.MARGIN, 1);BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 300, 300,hints);int width = bitMatrix.getWidth();int height = bitMatrix.getHeight();BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);for (int x = 0; x < width; x++) {for (int y = 0; y < height; y++) {image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);}}// 存到磁盘ImageIO.write(image, "jpg", outputStream);outputStream.flush();outputStream.close();}public static void createQRImage2(String content,OutputStream outputStream) throws Exception {Hashtable hints = new Hashtable();hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);hints.put(EncodeHintType.CHARACTER_SET, "utf-8");hints.put(EncodeHintType.MARGIN, 1);BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 300, 300,hints);//生成png格式的图片保存到imgPath路径位置MatrixToImageWriter.writeToStream(bitMatrix, "jpg",outputStream);outputStream.flush();outputStream.close()}public static void createQRImage2(String content,File file) throws Exception {Hashtable hints = new Hashtable();hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);hints.put(EncodeHintType.CHARACTER_SET, "utf-8");hints.put(EncodeHintType.MARGIN, 1);BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 300, 300,hints);//生成png格式的图片保存到imgPath路径位置MatrixToImageWriter.writeToFile(bitMatrix, "jpg",file);}public static void main(String[] args) throws Exception {String codeUrl = "http://www.baidu.com";//使用订单号来作为二维码的图片名称File file = new File("E:\\","测试3" + ".jpg");FileOutputStream out=new FileOutputStream(file);createQRImage(codeUrl, out);System.out.println(file.delete());}}
条形码有很多种类,二维(条形)码就是其中一种。表示内容也有不同,有的只能表示纯数字,不能表示字母。
BarcodeFormat.CODE_128; // 表示高密度数据, 字符串可变长,符号内含校验码
BarcodeFormat.CODE_39;
BarcodeFormat.CODE_93;
BarcodeFormat.CODABAR; // 可表示数字0 - 9,字符$、+、 -、还有只能用作起始/终止符的a,b,c d四个字符,可变长度,没有校验位
BarcodeFormat.DATA_MATRIX;
BarcodeFormat.EAN_8;
BarcodeFormat.EAN_13;
BarcodeFormat.ITF;
BarcodeFormat.PDF417; // 二维码
BarcodeFormat.QR_CODE; // 二维码
BarcodeFormat.RSS_EXPANDED;
BarcodeFormat.RSS14;
BarcodeFormat.UPC_E; // 统一产品代码E:7位数字,最后一位为校验位
BarcodeFormat.UPC_A; // 统一产品代码A:12位数字,最后一位为校验位
BarcodeFormat.UPC_EAN_EXTENSION;
参考:https://blog.csdn.net/liudongdong19/article/details/80147404
https://blog.csdn.net/zhoumushui/article/details/51008264
ZXing二维码介绍相关推荐
- zxing 二维码生成深度定制
二维码生成服务之深度定制 之前写了一篇二维码服务定制的博文,现在则在之前的基础上,再进一步,花样的实现深度定制的需求,我们的目标是二维码上的一切都是可以由用户来随意指定 设计 1. 技术相关 zxin ...
- 谷歌zxing 二维码生成工具
一.加入maven依赖 <!-- 谷歌zxing 二维码 --> <dependency><groupId>com.google.zxing</groupId ...
- 自定义ZXing二维码扫描界面并解决取景框拉伸等问题
自定义ZXing二维码扫描界面并解决取景框拉伸等问题 参考文章: (1)自定义ZXing二维码扫描界面并解决取景框拉伸等问题 (2)https://www.cnblogs.com/tommylemon ...
- ZXing二维码自定义绘画文字
最近项目需要,重新了解了下二维码的自定义文字绘画,直接上代码,记录一下. 一:导入Maven依赖 <!-- Zxing --> <dependency><groupId& ...
- 二维码介绍及二维码的Python生成
新时代,人们有新的追求,自然而然会有新发明的诞生.去年,在"一带一路"国际合作高峰论坛举行期间, 20 国青年投票选出中国的"新四大发明":高铁.扫码支付.共享 ...
- 常用二维码介绍与分析
一.常用二维码介绍 常用二维码主要有QRCode和DataMatrix,分别是日本与美国发明的,不常用但是将兴起的有VeriCode和汉信码,前者为美国的,连规范都未公开的二维码标准,而汉信码,是中国 ...
- com.google.zxing 二维码工具类
com.google.zxing 二维码工具类 pom 工具类 使用 pom <dependency><groupId>com.google.zxing</groupId ...
- Marco's Java【小工具篇 之 Google Zxing 二维码生成】
前言 二维码相信大家一定不陌生啦,去菜市场买菜,路边摊买个小吃都可以扫一扫,近几年来中国的二维码技术的普及也是大家有目共睹的,而二维码在其他国家虽然有用到,但极少,更没有说全国普及. 二维码又称二维条 ...
- Revit插件建模助手的“构件信息录入”“构件二维码”介绍
Revit插件建模助手的"构件信息录入""构件二维码"介绍 一.有求必应模块 → 构件信息录入 1.选择[构件信息录入]功能添加到Revit界面. 2.使用[构 ...
最新文章
- oracle12之 多租户容器数据库架构
- 2019春季学期期末总结
- 计算机小键盘 等号,小键盘上的 000 键
- DevOps \u0026 SRE 必备技能清单
- 【具体使用实例】Rall封装线程(C\C++)
- vue赋值与ajax什么区别,Vue中ajax返回的结果赋值
- 完成AOP 顶层设计-CglibAopProxy
- 阿里如何应对亿级高并发大流量?如何保障高可用和稳定性!
- 理解Vue的计算属性
- spark内核揭秘-14-Spark性能优化的10大问题及其解决方案
- 洛谷 P4220 UOJ #347 通道 —— 随机化
- 分治法--二分查找、乘方、斐波那契数
- 一天能写2000行代码的实习生,到底是不是一个程序员的好苗子?
- UE4 Runtime下导入IES贴图为TextureLightProfile
- 关于解决国内手机号不能用于gmail邮箱注册问题
- iOS 15:Spotlight 搜索中的所有新功能
- python模拟内置函数reversed()_Python 3 内置函数 reversed( )
- 微信 android 闪退问题怎么解决方法,安卓微信闪退怎么办,教你三种方法快速解决...
- Python-函数入参和全局变量
- 【转载】亡灵对抗人类的一点战术