java生成二维码并且下方添加文字
时间: 2024-09-13 22:14:05 浏览: 39
java生成二维码并添加自定义信息工具类
4星 · 用户满意度95%
在Java中生成二维码并且在下方添加文字可以通过使用ZXing("Zebra Crossing")库来实现,这是一个开源的Java库用于解析和生成条形码,包括二维码。以下是一个简单的示例代码,展示了如何使用ZXing库生成二维码并在其下方添加文字:
```java
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.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class QRCodeGenerator {
public static void main(String[] args) throws WriterException, IOException {
// 二维码内容
String qrCodeText = "这里是二维码内容";
// 二维码宽度和高度
int size = 300;
// 二维码纠错级别
Map<EncodeHintType, Object> hints = new HashMap<>();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
// 生成二维码矩阵
BitMatrix bitMatrix = new MultiFormatWriter().encode(qrCodeText, BarcodeFormat.QR_CODE, size, size, hints);
// 将二维码矩阵转换成BufferedImage对象
BufferedImage qrCodeImage = MatrixToImageWriter.toBufferedImage(bitMatrix);
// 在二维码下方添加文字
Graphics2D g = qrCodeImage.createGraphics();
g.setColor(Color.BLACK);
g.setFont(new Font("Arial", Font.BOLD, 20));
FontMetrics metrics = g.getFontMetrics(g.getFont());
g.drawString("这里是下方文字", (size - metrics.stringWidth("这里是下方文字")) / 2, size + metrics.getAscent());
g.dispose();
// 将二维码图像保存到文件
File file = new File("QRCode.png");
ImageIO.write(qrCodeImage, "PNG", file);
}
}
```
在这段代码中,首先定义了二维码的内容和尺寸,并设置了二维码的纠错级别和字符集。然后使用`MultiFormatWriter`生成了二维码的`BitMatrix`对象,并将其转换为`BufferedImage`对象。接着在图像上创建`Graphics2D`对象并添加文字。最后将生成的图像保存到文件中。
注意,在使用ZXing库之前,需要将其添加到项目的依赖中。如果是在Maven项目中,可以添加以下依赖到`pom.xml`文件中:
```xml
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.4.1</version>
</dependency>
```
阅读全文