import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
public class QRCodeGenerator {
public static void main(String[] args) {
String data = "https://www.example.com"; // 要编码的数据
String path = "QRCode.png"; // 输出图片路径
int width = 300; // 图片宽度
int height = 300; // 图片高度
try {
Map<EncodeHintType, Object> hints = new HashMap<>();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); // 设置字符集
BitMatrix matrix = new MultiFormatWriter().encode(data, BarcodeFormat.QR_CODE, width, height, hints);
Path outputPath = FileSystems.getDefault().getPath(path);
MatrixToImageWriter.writeToPath(matrix, "PNG", outputPath); // 写入文件
System.out.println("二维码生成成功!");
} catch (Exception e) {
System.err.println("二维码生成失败: " + e.getMessage());
}
}
}
依赖库:此代码使用了 zxing 库来生成二维码。你需要在项目中引入该库,可以通过 Maven 或 Gradle 来添加依赖。
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.4.1</version>
</dependency>
主要步骤:
Map 来设置编码提示(如字符集)。MultiFormatWriter 类生成二维码的 BitMatrix。MatrixToImageWriter 将 BitMatrix 写入到指定路径的 PNG 文件中。参数说明:
data:要编码成二维码的数据,可以是 URL、文本等。path:生成的二维码图片保存路径。width 和 height:二维码图片的宽度和高度。异常处理:捕获并打印可能的异常信息,确保程序不会因错误而崩溃。
希望这段代码能帮助你生成二维码图片!
上一篇:java set 交集
下一篇:docker安装java环境
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站