package com.pay.utils; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxing.common.BitMatrix; import sun.misc.BASE64Encoder; import javax.imageio.ImageIO; import javax.swing.filechooser.FileSystemView; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.util.HashMap; import java.util.Map; public class QrCodeUtil { public static void main(String[] args) { String url = "http://www.baidu.com"; String path = FileSystemView.getFileSystemView().getHomeDirectory() + File.separator + "testQrcode"; String fileName = "temp.jpg"; createQrCode(url, path, fileName); } public static String createQrCode(String url) { try { Map<EncodeHintType, String> hints = new HashMap<>(); hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); BitMatrix bitMatrix = new MultiFormatWriter().encode(url, BarcodeFormat.QR_CODE, 400, 400, hints); // 二维码图片下载至本地 // File file = new File(path, fileName); // if (file.exists() || ((file.getParentFile().exists() || file.getParentFile().mkdirs()) && file.createNewFile())) { // writeToFile(bitMatrix, "jpg", file); // System.out.println("搞定:" + file); // } // 1、读取文件转换为字节数组 ByteArrayOutputStream out = new ByteArrayOutputStream(); BufferedImage image = toBufferedImage(bitMatrix); //转换成png格式的IO流 ImageIO.write(image, "png", out); byte[] bytes = out.toByteArray(); // 2、将字节数组转为二进制 BASE64Encoder encoder = new BASE64Encoder(); String binary = encoder.encodeBuffer(bytes).trim(); System.out.println(binary); return binary; } catch (Exception e) { e.printStackTrace(); } return null; } static void writeToFile(BitMatrix matrix, String format, File file) throws IOException { BufferedImage image = toBufferedImage(matrix); if (!ImageIO.write(image, format, file)) { throw new IOException("Could not write an image of format " + format + " to " + file); } } static void writeToStream(BitMatrix matrix, String format, OutputStream stream) throws IOException { BufferedImage image = toBufferedImage(matrix); if (!ImageIO.write(image, format, stream)) { throw new IOException("Could not write an image of format " + format); } } private static final int BLACK = 0xFF000000; private static final int WHITE = 0xFFFFFFFF; private static BufferedImage toBufferedImage(BitMatrix matrix) { int width = matrix.getWidth(); int height = matrix.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, matrix.get(x, y) ? BLACK : WHITE); } } return image; } }
pom引入:
<!-- https://mvnrepository.com/artifact/com.google.zxing/core --> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.0</version> </dependency>
前端页面显示:
<img src="https://imgs.xnip.cn/2022010701572936051.png' + value + '" width="70px" height="70px"></img>
本文向大家介绍java 生成二维码实例,包括了java 生成二维码实例的使用技巧和注意事项,需要的朋友参考一下 最近有点时间想学点东西,想做个简单的系统,现在登录的时候使用扫描二维码获取验证码登录,于是就有了下面的一些代码 首先要导入pom依赖 这个是goole提供的一些包 第一个类是goole提供帮主类 画出图片 生成图片工具类 controller 二维码示例 以上就是java 生成二维码实例
本文向大家介绍java二维码生成的方法,包括了java二维码生成的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java二维码的实现代码,供大家参考,具体内容如下 这次用到的jar包是zxing,没有用到core的jar包 先导入zxing.jar包 生成二维码 解析二维码 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
jquery.qrcode.min.js在index中引用,但是在组件中无法使用是为什么?
及策微信小程序二维码生成器,是一个根据小程序相关数据生成二维码的工具。在进行参数设置后,通过用户在不同场景中扫描该场景二维码激活小程序,从而准确帮您获取小程序的渠道推广数据,用户来源。 生成二维码 名称:为二维码定义一个独立的,方便识别的名称; 类型:选择生成小程序的类型; 页面路径:通过扫描将生成的二维码所访问的页面路径。也就是说你可以将任意页面生成为二维码,供用户扫描后直接进入; 参数设置:
1、renderQrCode 用法 renderQrCode 生成二维码极其简单方便,常见用法如下: // 二维码携带的数据 String data = "weixin://wxpay/bizpayurl?appid=xx&mch_id=xx......"; // 渲染二维码图片,长度与宽度为 200 像素 renderQrCode(data, 200, 200); 上例代码中的 data 为该
本文向大家介绍java生成彩色附logo二维码,包括了java生成彩色附logo二维码的使用技巧和注意事项,需要的朋友参考一下 java生成二维码有很多开发的jar包如zxing是谷歌开发的,这里的话我使用zxing的开发包来实现的。我们在很多项目中需要动态生成二维码,来提供给用户,这样让更多人能够很好的通过二维码来体验自己的应用。 下面贴出代码,已经测试通过,大家可以直接复制代码使用: 最后实现