java写一段二维码生成的程序
时间: 2024-05-15 19:16:13 浏览: 54
以下是一个简单的Java程序,用于生成二维码。
```
import java.awt.Color;
import java.awt.Graphics2D;
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.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
public class QRCodeGenerator {
public static void main(String[] args) {
String data = "https://www.baidu.com"; // 二维码包含的信息
String path = "qr-code.png"; // 生成的二维码文件路径
int size = 300; // 二维码大小
// 设置二维码参数
QRCodeWriter qrCodeWriter = new QRCodeWriter();
BitMatrix bitMatrix = null;
try {
bitMatrix = qrCodeWriter.encode(data, BarcodeFormat.QR_CODE, size, size);
} catch (WriterException e) {
e.printStackTrace();
}
// 生成二维码
BufferedImage image = new BufferedImage(size, size, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = (Graphics2D) image.getGraphics();
graphics.setColor(Color.WHITE);
graphics.fillRect(0, 0, size, size);
graphics.setColor(Color.BLACK);
for (int x = 0; x < size; x++) {
for (int y = 0; y < size; y++) {
if (bitMatrix.get(x, y)) {
graphics.fillRect(x, y, 1, 1);
}
}
}
// 保存二维码图片
try {
ImageIO.write(image, "png", new File(path));
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个程序使用了Google的ZXing库,其中QRCodeGenerator类的main方法接受三个参数:
- data:二维码包含的信息。
- path:生成的二维码文件路径。
- size:二维码大小。
首先,程序使用QRCodeWriter类设置二维码参数,然后使用Graphics2D类生成二维码图片。最后,程序使用ImageIO类将二维码图片保存到指定的文件路径。
阅读全文