Maven导包

<dependency>
    <groupId>com.github.liuyueyi.media</groupId>
    <artifactId>qrcode-plugin</artifactId>
    <version>3.0.0</version>
</dependency>

使用样例

普通二维码

BufferedImage image = QrCodeGenV3.of("https://www.jufb.cn/").build().asImg();

普通二维码

中间带LOGO的二维码

BufferedImage image = QrCodeGenWrapper.of("https://www.jufb.cn/")
                    //黑色方块变小方块
                    .setDrawStyle(QrCodeOptions.DrawStyle.MINI_RECT)
                    .setDrawEnableScale(true)
                    // 设置二维码颜色
                    .setDrawPreColor(new Color(203, 156, 73))
                    // 设置LOGO
                    .setLogo("/image/icon.png")
                    // 设置logo大小
                    .setLogoRate(8)
                    // 设置LOGO四角样式
                    .setLogoStyle(QrCodeOptions.LogoStyle.NORMAL)
                    //设置精度
                    .setErrorCorrection(ErrorCorrectionLevel.M)
                    //设置二维码大小
                    .setW(400)
                    //true 则探测图形有本身的绘制规则
                    .setDetectSpecial()
                    .asBufferedImage();

中间带LOGO的二维码

常用方法

获取图片Base64

public String createJumpQRCode(String url) throws Exception {
        BufferedImage image = QrCodeGenV3.of("https://www.jufb.cn/").build().asImg();

        String QRCodeBase64Image = null;
        ByteArrayOutputStream os = new ByteArrayOutputStream();
        try {
            ImageIO.write(image, “png”, os);
            QRCodeBase64Image = Base64.encode(os.toByteArray());
        } finally {
            os.flush();
            os.close();
        }

        return "data:image/png;base64," + QRCodeBase64Image;
}

更多详细样例

https://hhui.top/quick/quick-media/qrcode/3.x二维码基本使用姿势/

最后修改:2023 年 01 月 03 日
如果觉得我的文章对你有用,请随意赞赏