以下是 Java 生成二维码的示例代码,使用 Google 的 ZXing 库:

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
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 qrCodeData = 'https://www.example.com';
        String filePath = "./qr-code.png";
        int size = 250;
        String fileType = "png";
        File qrFile = new File(filePath);
        createQRCode(qrFile, qrCodeData, size, fileType);
        System.out.println("QR Code generated successfully!");
    }

    private static void createQRCode(File qrFile, String qrCodeData, int size, String fileType) {
        try {
            // 设置二维码的编码格式
            Map<EncodeHintType, Object> hintMap = new HashMap<EncodeHintType, Object>();
            hintMap.put(EncodeHintType.CHARACTER_SET, "UTF-8");
            // 生成二维码的矩阵
            QRCodeWriter qrCodeWriter = new QRCodeWriter();
            BitMatrix bitMatrix = qrCodeWriter.encode(qrCodeData, BarcodeFormat.QR_CODE, size, size, hintMap);
            // 将矩阵渲染成图片
            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);
                    }
                }
            }
            // 将图片写入文件
            ImageIO.write(image, fileType, qrFile);
        } catch (WriterException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

这个程序使用 Google 的 ZXing 库来生成二维码。在示例中,它生成一个大小为 250x250 像素的二维码,内容为 'https://www.example.com',并将其保存在名为 'qr-code.png' 的文件中。

Java 生成二维码代码示例 - 使用 ZXing 库

原文地址: https://www.cveoy.top/t/topic/n5qB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录