文章目录

  • 生成二维码图片
  • 参考

生成二维码图片

新建 Maven Project,引入依赖:

<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>

新建 QrCodeUtils 工具类:

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;import javax.imageio.ImageIO;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.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;
import com.google.zxing.qrcode.QRCodeWriter;public class QrCodeUtils {private static final BarcodeFormat BARCODE_FORMAT = BarcodeFormat.QR_CODE;private static final QRCodeWriter qrCodeWriter = new QRCodeWriter();private static final MultiFormatReader multiFormatReader = new MultiFormatReader();public static BitMatrix encode(String contents, int width, int height, Map<EncodeHintType, Object> hints) throws WriterException {BitMatrix bitMatrix = qrCodeWriter.encode(contents, BARCODE_FORMAT, width, height, hints);return bitMatrix;}public static Result decode(File input) throws IOException, NotFoundException {BufferedImage bufferedImage = ImageIO.read(input);LuminanceSource luminanceSource = new BufferedImageLuminanceSource(bufferedImage);Binarizer binarizer = new HybridBinarizer(luminanceSource);BinaryBitmap binaryBitmap = new BinaryBitmap(binarizer);Map<DecodeHintType, Object> hints = new HashMap<DecodeHintType, Object>();hints.put(DecodeHintType.CHARACTER_SET, "UTF-8");return multiFormatReader.decode(binaryBitmap, hints);}public static void writeToPah(BitMatrix matrix, String format, File file) throws IOException {MatrixToImageWriter.writeToPath(matrix, format, file.toPath());}public static void writeToPah(BitMatrix matrix, String format, Path file) throws IOException {MatrixToImageWriter.writeToPath(matrix, format, file);}public static void writeToStream(BitMatrix matrix, String format, OutputStream stream) throws IOException {MatrixToImageWriter.writeToStream(matrix, format, stream);}
}

测试类:

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;import com.google.zxing.EncodeHintType;
import com.google.zxing.NotFoundException;
import com.google.zxing.Result;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;public class Test {public static void main(String[] args) throws WriterException, IOException, NotFoundException {File file = new File("二维码(QrCode).png");String contents = file.getName();Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);hints.put(EncodeHintType.MARGIN, 1);BitMatrix bitMatrix = QrCodeUtils.encode(contents, 800, 800, hints);QrCodeUtils.writeToPah(bitMatrix, "PNG", file); // 生成二维码图片//        ByteArrayOutputStream stream = new ByteArrayOutputStream();
//        QrCodeUtils.writeToStream(bitMatrix, "PNG", stream);
//
//        byte[] byteArray = stream.toByteArray();Result result = QrCodeUtils.decode(file); // 识别二维码System.out.println(result.getText());}
}

生成的二维码图片位于项目根目录中:

控制台输出:

二维码(QrCode).png

参考

Java实现二维码生成 Google-Zxing

Java识别二维码【工具类】

Java - 生成二维码图片相关推荐

  1. 使用Java生成二维码图片(亲测)

    下面我来分享两种生成二维码图片的方法. 第一种,填入你扫描二维码要跳转的网址直接生成二维码 第一步:导入相关的包 1 <dependency> 2 <groupId>com.g ...

  2. 使用Java生成二维码图片

    下面我来分享两种生成二维码图片的方法. 第一种,填入你扫描二维码要跳转的网址直接生成二维码 第一步:导入相关的包 1 <dependency> 2 <groupId>com.g ...

  3. java生成二维码图片(有logo),并在图片下方附文字

    logo配置类 /*** Created by Amber Wang on 2017/11/27 17:25.*/import java.awt.*;public class LogoConfig { ...

  4. java生成二维码图片、转base64

    本文介绍通过java把文字或url生成二维码,使用浏览器或者微信扫一扫即可获得文字或url内容,超简单的方法,两个步骤复制粘贴即可使用. 注意:内容是文字会直接显示,如果内容为url地址那么会直接访问 ...

  5. springboot+java生成二维码图片

    接下来将从IDEA创建springboot项目到生成效果图详细地为大家展示二维码的制作过程 1.首先是创建springboot项目 上面的图有红色标记的地方需要填写的,比如项目存放的路径,包名等,其他 ...

  6. JAVA 生成二维码图片 可加Logo

    现在二维码在很多地方有运用,在这里写一份简洁明快的代码,方便以后使用.有需要的朋友可以直接复制过去 直接使用 所需要的jar:QRCode.jar jar下载地址:点击打开链接 package QrC ...

  7. Java生成二维码图片,手机软件扫码后跳转网页

    一.创建maven工程,添加如下依赖 <dependencies><dependency><groupId>com.google.zxing</groupId ...

  8. java springboot生成二维码图片

    java生成二维码图片 Maven依赖 <!--生成二维码--> <dependency><groupId>com.google.zxing</groupId ...

  9. Java生成二维码带LOGO底部标题竖版字体

    前言 Java后端生成二维码 底部 侧面带有标题,可调节字号 参考文章 使用Java生成二维码图片(亲测) Reborn_YY使用Java生成二维码图片 图标素材库 Java后台生成图片,前台实现图片 ...

最新文章

  1. 一遍记住Java常用的八种排序算法与代码实现
  2. linux的共享端口,Gogs与Linux共享SSH22端口
  3. windows程序如何设计时间片_小程序开发要多久?制作设计小程序要多长时间?...
  4. Quartz.net官方开发指南 第五课: SimpleTrigger
  5. ubuntu 配置网络
  6. 傅奎:十年安全路,一颗好奇心
  7. 阿里云弹性高性能计算产品商业化正式发布
  8. 排队接水(信息学奥赛一本通-T1319)
  9. ZooKeeper(四) 使用Redis RedissonLock 实现分布式锁
  10. Spring4.x(9)--Spring的Hibernate事务-XML
  11. Linq原理相关(隐式类型var、匿名类型、实例化类、集合初始化)
  12. 软工作业PSP与单元测试训练 15100231
  13. JAD文件各属性解释
  14. 在Python中分词
  15. 《李宗仁回忆录》完整版在线及电子书下载
  16. 老宇哥带你玩转ESP32,12篇基础教程已经更新完毕,接下来是进阶教程
  17. C#简单使用ManagedWifi
  18. Android 设置APP桌面图标
  19. 世界人工智能大会倒计时30天,这些亮点不容错过
  20. 小程序之 一个方法中的值怎么传递到另一个方法中

热门文章

  1. 品牌是公司运营的核心价值,也是在消费者的价值体系中的一部分
  2. 远程mysql出现10061,mysql 远程连接 10061和ERROR 1130解决办法
  3. 第7章 生产产出的决策分析
  4. 无界鼠标,更新系统后连不上
  5. 读唐诗,学唐史-《六神磊磊读唐诗》读书小结
  6. 游戏引擎的动画系统及骨骼动画原理
  7. wvp-pro+ZLMediaKit流媒体框架搭建+公网部署
  8. GPS软件接收机matlab程序学习笔记(一)
  9. postman官方下载地址
  10. 三维度:专业、展现与连接