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二维码介绍相关推荐

  1. zxing 二维码生成深度定制

    二维码生成服务之深度定制 之前写了一篇二维码服务定制的博文,现在则在之前的基础上,再进一步,花样的实现深度定制的需求,我们的目标是二维码上的一切都是可以由用户来随意指定 设计 1. 技术相关 zxin ...

  2. 谷歌zxing 二维码生成工具

    一.加入maven依赖 <!-- 谷歌zxing 二维码 --> <dependency><groupId>com.google.zxing</groupId ...

  3. 自定义ZXing二维码扫描界面并解决取景框拉伸等问题

    自定义ZXing二维码扫描界面并解决取景框拉伸等问题 参考文章: (1)自定义ZXing二维码扫描界面并解决取景框拉伸等问题 (2)https://www.cnblogs.com/tommylemon ...

  4. ZXing二维码自定义绘画文字

    最近项目需要,重新了解了下二维码的自定义文字绘画,直接上代码,记录一下. 一:导入Maven依赖 <!-- Zxing --> <dependency><groupId& ...

  5. 二维码介绍及二维码的Python生成

    新时代,人们有新的追求,自然而然会有新发明的诞生.去年,在"一带一路"国际合作高峰论坛举行期间, 20 国青年投票选出中国的"新四大发明":高铁.扫码支付.共享 ...

  6. 常用二维码介绍与分析

    一.常用二维码介绍 常用二维码主要有QRCode和DataMatrix,分别是日本与美国发明的,不常用但是将兴起的有VeriCode和汉信码,前者为美国的,连规范都未公开的二维码标准,而汉信码,是中国 ...

  7. com.google.zxing 二维码工具类

    com.google.zxing 二维码工具类 pom 工具类 使用 pom <dependency><groupId>com.google.zxing</groupId ...

  8. Marco's Java【小工具篇 之 Google Zxing 二维码生成】

    前言 二维码相信大家一定不陌生啦,去菜市场买菜,路边摊买个小吃都可以扫一扫,近几年来中国的二维码技术的普及也是大家有目共睹的,而二维码在其他国家虽然有用到,但极少,更没有说全国普及. 二维码又称二维条 ...

  9. Revit插件建模助手的“构件信息录入”“构件二维码”介绍

    Revit插件建模助手的"构件信息录入""构件二维码"介绍 一.有求必应模块 → 构件信息录入 1.选择[构件信息录入]功能添加到Revit界面. 2.使用[构 ...

最新文章

  1. oracle12之 多租户容器数据库架构
  2. 2019春季学期期末总结
  3. 计算机小键盘 等号,小键盘上的 000 键
  4. DevOps \u0026 SRE 必备技能清单
  5. 【具体使用实例】Rall封装线程(C\C++)
  6. vue赋值与ajax什么区别,Vue中ajax返回的结果赋值
  7. 完成AOP 顶层设计-CglibAopProxy
  8. 阿里如何应对亿级高并发大流量?如何保障高可用和稳定性!
  9. 理解Vue的计算属性
  10. spark内核揭秘-14-Spark性能优化的10大问题及其解决方案
  11. 洛谷 P4220 UOJ #347 通道 —— 随机化
  12. 分治法--二分查找、乘方、斐波那契数
  13. 一天能写2000行代码的实习生,到底是不是一个程序员的好苗子?
  14. UE4 Runtime下导入IES贴图为TextureLightProfile
  15. 关于解决国内手机号不能用于gmail邮箱注册问题
  16. iOS 15:Spotlight 搜索中的所有新功能
  17. python模拟内置函数reversed()_Python 3 内置函数 reversed( )
  18. 微信 android 闪退问题怎么解决方法,安卓微信闪退怎么办,教你三种方法快速解决...
  19. Python-函数入参和全局变量
  20. 【转载】亡灵对抗人类的一点战术

热门文章

  1. 【原创】基于SSM框架的电影在线观看网站设计与实现
  2. 充电宝多少毫安最好?出差旅游必备充电宝推荐
  3. 远程智能家居ZigBee控制系统
  4. 阿里云推荐有礼活动--针对新用户
  5. OneNote设置代码片段
  6. Mac写作软件哪款好?妙笔WonderPen for Mac非常值得一用!
  7. 儿童产品CPC认证是什么,CPSC测试标准介绍
  8. Nginx配置及配置加载
  9. android 拨打电话但隐藏,android实现拨打电话但不弹出拨号界面
  10. jquery大于号的作用