java生成个性化二维码

基础代码:https://blog.csdn.net/wangwenjie1997/article/details/93777976

代码修改处

1.修改白色透明度
2.修改BufferedImage对象Type
java生成个性化二维码_第1张图片

测试

import java.awt.image.BufferedImage;

public class QrCodeTest {

    public static void main(String[] args) {
        String text = "https://www.baidu.com/";//二维码内容
        String format = "jpg";  //生成的二维码图片的格式
        String logoFilePath = "F:\\test\\CodeTest\\logo.jpg";//二维码logo图片路径
        String bgFilePath = "F:\\test\\CodeTest\\bg.jpg";//二维码背景图片路径
        String savePath = "F:\\test\\CodeTest\\";
        int width = 300;    //二维码图片的宽
        int height = 300;   //二维码图片的高

        try {
            //生成二维码图片
            //无logo,无背景二维码
            BufferedImage qrCodeNoLogoNoBg = QrCodeUtil.encodeQrCode(text, width, height);
            //无logo,无背景二维码添加背景
            BufferedImage qrCodeNoLogoWithBg = QrCodeUtil.addBgImg(qrCodeNoLogoNoBg, bgFilePath, 0, 0);
            QrCodeUtil.writeToFile(qrCodeNoLogoWithBg, format, savePath+"qrCodeNoLogoWithBg."+format);
            //无logo,无背景二维码添加logo
            BufferedImage qrCodeWithLogoNoBg = QrCodeUtil.addLogo(qrCodeNoLogoNoBg,logoFilePath);
            //有logo,无背景二维码添加背景
            BufferedImage qrCodeWithLogoWithBg = QrCodeUtil.addBgImg(qrCodeWithLogoNoBg, bgFilePath, 0, 0);
            QrCodeUtil.writeToFile(qrCodeWithLogoWithBg, format, savePath+"qrCodeWithLogoWithBg."+format);

            //二维码添加文字描述(大致实现,只限一行,没有换行)
            BufferedImage qrCodeAddText = QrCodeUtil.addText(qrCodeNoLogoWithBg, "123124", 30);
            QrCodeUtil.writeToFile(qrCodeAddText, format, savePath+"qrCodeAddText."+format);


            //二维码解析
//            BufferedImage image = ImageIO.read(new File("F:\\test\\CodeTest\\qrCodeWithLogoWithBg.jpg"));
            String qrCodeContent3 = QrCodeUtil.decodeQrCode(qrCodeNoLogoWithBg);
            System.out.println("解析无logo,有背景二维码的图片的内容为: " + qrCodeContent3);
            //有背景,有logo
            String qrCodeContent4 = QrCodeUtil.decodeQrCode(qrCodeWithLogoWithBg);
            System.out.println("解析有logo,有背景二维码的图片的内容为: " + qrCodeContent4);
            //无背景添加文字描述
            String qrCodeContent5 = QrCodeUtil.decodeQrCode(qrCodeAddText);
            System.out.println("无背景添加文字描述: " + qrCodeContent5);


        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

输出

java生成个性化二维码_第2张图片
为什么解析不出来呢,是因为生成二维码图片太花了,而我又懒的找干净的背景图片,就凑合着生成二维码 。可是识别不出来的二维码,再好看又有什么用呢[抠鼻]

二维码

java生成个性化二维码_第3张图片
java生成个性化二维码_第4张图片
java生成个性化二维码_第5张图片

你可能感兴趣的:(java生成个性化二维码)