java 生成二维码工具类 源码
时间: 2023-08-03 07:02:01 浏览: 134
Java生成二维码工具类的源码是一段用Java语言编写的程序代码,用于生成二维码图片。下面是一个简单的Java生成二维码工具类的源码示例:
```java
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
public class QRCodeGenerator {
public static void main(String[] args) {
String text = "https://www.example.com"; // 要生成二维码的内容
int width = 300; // 二维码图片的宽度
int height = 300; // 二维码图片的高度
String format = "png"; // 二维码图片的格式
try {
BufferedImage image = generateQRCode(text, width, height);
saveImage(image, format, "qrcode.png");
System.out.println("二维码已生成。");
} catch (Exception e) {
e.printStackTrace();
}
}
// 生成二维码图片
public static BufferedImage generateQRCode(String text, int width, int height) throws Exception {
QRCodeWriter qrCodeWriter = new QRCodeWriter();
BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);
int matrixWidth = bitMatrix.getWidth();
BufferedImage image = new BufferedImage(matrixWidth, matrixWidth, BufferedImage.TYPE_INT_RGB);
image.createGraphics();
Graphics2D graphics = (Graphics2D) image.getGraphics();
graphics.setColor(Color.WHITE);
graphics.fillRect(0, 0, matrixWidth, matrixWidth);
graphics.setColor(Color.BLACK);
for (int i = 0; i < matrixWidth; i++) {
for (int j = 0; j < matrixWidth; j++) {
if (bitMatrix.get(i, j)) {
graphics.fillRect(i, j, 1, 1);
}
}
}
return image;
}
// 保存二维码图片
public static void saveImage(BufferedImage image, String format, String filePath) throws IOException {
ImageIO.write(image, format, new File(filePath));
}
}
```
这个工具类使用了Google的ZXing库来生成二维码。主要包含两个方法:`generateQRCode()`用于生成二维码图片,`saveImage()`用于保存二维码图片到文件。
使用时,只需要指定要生成二维码的内容、图片的宽度和高度,然后调用`generateQRCode()`方法获取生成的二维码图片,最后保存到文件即可。
阅读全文