java 生成二维码并保存图片
时间: 2024-02-17 09:57:19 浏览: 24
以下是Java生成二维码并保存图片的示例代码:
```java
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.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
public class QRCodeGenerator {
public static void main(String[] args) {
String text = "https://www.csdn.net";
int width = 500;
int height = 500;
String format = "jpg";
String filePath = "d://test//out.jpg";
String logoPath = "E:\\test.jpg";
try {
QRCodeWriter qrCodeWriter = new QRCodeWriter();
BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
bufferedImage.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);
}
}
File qrFile = new File(filePath);
ImageIO.write(bufferedImage, format, qrFile);
if (logoPath != null && !"".equals(logoPath.trim())) {
QRCodeUtil.addLogo(qrFile, new File(logoPath), new LogoConfig());
}
} catch (WriterException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
其中,QRCodeUtil是一个工具类,用于在二维码中添加Logo。你可以在这里找到QRCodeUtil的完整代码:https://github.com/liuyueyi/quick-media/blob/master/quick-media/src/main/java/com/github/hui/quick/plugin/qrcode/util/QRCodeUtil.java