Skip to content
鼓励作者:欢迎打赏犒劳

图片工具类

判断图片是否存在二维码

利用zxing实现

依赖

xml
<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>core</artifactId>
    <version>3.4.1</version>
</dependency>
<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>javase</artifactId>
    <version>3.4.1</version>
</dependency>
java
import com.google.zxing.BinaryBitmap;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;
import org.junit.Test;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;

public class Test2 {
    public static String getQRCodeData(String imagePath) {
        try {
            File file = new File(imagePath);
            BufferedImage image = ImageIO.read(file);
            BinaryBitmap binaryBitmap = new BinaryBitmap(
                    new HybridBinarizer(new BufferedImageLuminanceSource(image))
            );
            Result result = new MultiFormatReader().decode(binaryBitmap);
            return result.getText();
        } catch (Exception e) {
            return "无二维码或解析失败"; // 无二维码或解析失败
        }
    }
    @Test
    public void test2()  throws Exception{
        String decodedUrl = getQRCodeData("C:\\Users\\Think\\Desktop\\image.jpg");
        System.out.println(decodedUrl); // 输出二维码内容或空字符串
    }
}

如有转载或 CV 的请标注本站原文地址