Java使用ZXing生成/解析二维码图片
2021-07-10 09:04
标签:扫描 instance tip 指定位置 ret 图片格式 level pom.xml文件 equal ZXing是一种开源的多格式1D/2D条形码图像处理库,在Java中的实现。重点是在手机上使用内置摄像头来扫描和解码设备上的条码,而不与服务器通信。然而,该项目也可以用于对桌面和服务器上的条形码进行编码和解码。目前支持这些格式: 在这里仅使用它来生成/解析二维码:(解析二维码后续添加) 创建maven项目,在pom.xml文件中添加zxing的jar包依赖: 以下为整合的二维码生成工具类: 然后是测试代码: Java使用ZXing生成/解析二维码图片 标签:扫描 instance tip 指定位置 ret 图片格式 level pom.xml文件 equal 原文地址:https://www.cnblogs.com/new-life/p/9563202.html
package com.esheng.util;
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageConfig;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.CharacterSetECI;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
/**
* QRCode生成工具类
* @author: LinWenLi
* @date: 2018-08-23 12:45:34
*/
public class QRCodeUtils {
/**
* 二维码BufferedImage对象生成方法
* @author LinWenLi
* @date 2018-08-23 12:51:00
* @param contents二维码内容
* @param width二维码图片宽度
* @param height二维码图片高度
* @param margin二维码边框(0,2,4,8)
* @throws Exception
* @return: BufferedImage
*/
public static BufferedImage createQRCode(String contents, int width, int height,int margin) throws Exception {
if (contents == null || contents.equals("")) {
throw new Exception("contents不能为空。");
}
// 二维码基本参数设置
Map
public static void main(String[] args) {
String contents = "二维码内容";
int width = 220;// 二维码宽度
int height = 220;// 二维码高度
int margin = 0;// 二维码边距
String logoPath = "C:\\Users\\myComputer\\Desktop\\LOGO.jpg";// LOGO图片路径
int logoSizeMultiple = 3;// 二维码与LOGO的大小比例
String filePath = "C:\\Users\\myComputer\\Desktop\\";// 指定生成图片文件的保存路径
String fileName = "imageName";// 生成的图片文件名
String formatName = "jpg";// 生成的图片格式,可自定义
try {
// 生成二维码
BufferedImage qrcode = QRCodeUtils.createQRCode(contents, width, height,margin);
// 添加LOGO
qrcode = QRCodeUtils.createQRCodeWithLogo(qrcode, width, height, logoPath,logoSizeMultiple);
// 导出到指定路径
boolean result = QRCodeUtils.generateQRCodeToPath(qrcode, filePath, fileName, formatName);
System.out.println("执行结果" + result);
} catch (Exception e) {
e.printStackTrace();
}
}