如何在java中解码QRCode?我使用ZXing和QRCode,但有时候它们不起作用

时间:2015-09-21 02:37:06

标签: java zxing

该方法使用ZXing解码图像:

public static String decode(BufferedImage image) {
    try {
        if (image == null) {
            System.out.println("bufferedImage is null");
            return null;
        }
        LuminanceSource source = new BufferedImageLuminanceSource(image);
        BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
        Result result;
        @SuppressWarnings("rawtypes")
        Hashtable hints = new Hashtable();
        hints.put(DecodeHintType.CHARACTER_SET, "utf-8");
        result = new MultiFormatReader().decode(bitmap, hints);
        String resultStr = result.getText();
        //System.out.println("the qrcode str: " + resultStr);
        return resultStr;
    } catch (com.google.zxing.NotFoundException re) {
        //System.out.println("no str in the image");
        return null;
    } catch(Exception e) {
        System.out.println(e.toString());
        return null;
    }

}

并使用QRcode.jar:

    public static String decodeUseQRcode(BufferedImage image){
        QRCodeDecoder decoder = new QRCodeDecoder();
        String content = null;
        try {
            content = new String(decoder.decode(new TwoDimensionCodeImage(image)),"gbk");
        } catch (DecodingFailedException e) {
            //e.printStackTrace();
            return null;
        } catch (UnsupportedEncodingException e) {
            //e.printStackTrace();
            return null;
        }
        return content;
    }
图片无法通过QRCode.jar和ZXing进行解码,结果全部为“null”。查看两个java方法无法解码图片。

但我使用微信和其他应用程序可以解码这个。 如何提高成功解码图片的速度? (我没有10个声望,所以我无法发布图像。有时两种方法都有效。但并不总是有效。) 图片的链接。 http://postimg.org/image/s6tpzv1gf/

0 个答案:

没有答案