当前位置: 首页 > 工具软件 > QRCODE4j > 使用案例 >

Java 生成二维码 Qrcode

田德运
2023-12-01

Java生成二维码图片

使用Qrcode.jar
jar包点击 免费下载

可直接使用

    /**
     *  生成二维码
     * @param content        二维码内容 只能存储字符串(如需打开文件,把文件路径存入即可)
     * @param QrcodeSavePath 二维码图片保存路径
     * @throws IOException
     */
    public void createQrcode(String content, String QrcodeSavePath) throws IOException {
        //二维码处理类
        Qrcode qrcode = new Qrcode();

        //纠错等级(分为L、M、H三个等级)
        qrcode.setQrcodeErrorCorrect('M');

        //N代表数字,A代表a-Z,B代表其它字符
        qrcode.setQrcodeEncodeMode('B');

        //版本写死即可
        qrcode.setQrcodeVersion(6);

        //设置一下二维码的像素
        int width = 100;
        int height = 100;

        //设置右下偏移量
        int offset = 10;

        BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

        //创建画板 设置样式
        Graphics2D gs = bufferedImage.createGraphics();
        gs.setBackground(Color.WHITE);
        gs.setColor(Color.BLACK);

        //清除下画板内容 设置画板大小
        gs.clearRect(0, 0, width, height);

        //填充二维码
        byte[] bytes = content.getBytes("utf-8");
        int maxLength = 108;
        if (bytes.length < maxLength) {
            boolean[][] s = qrcode.calQrcode(bytes);
            for (int i = 0; i < s.length; i++) {
                for (int j = 0; j < s.length; j++) {
                    if (s[j][i]) {
                        gs.fillRect(j * 2 + offset, i * 2 + offset, 2, 2);
                    }
                }
            }
        }
        gs.dispose();
        bufferedImage.flush();

        //填充完成后返回jpg格式
        ImageIO.write(bufferedImage, "jpg", new File(QrcodeSavePath));
    }
 类似资料: