java如何使用zxing识别图片条码( 三 )


// 生当作带log的二维码
test.qr_code();
// 生当作不带log的条形码
test.ean_code();
}


/**
* 二维码

* @throws IOException
*/
public void qr_code() throws WriterException, IOException {
        int width = 300;
        int height = 300;
        String text = "https://jingyan.baidu.com/user/npublic?uid=be683ee17853d6d6a312287b";
        String format = "png";
        HashMap<EncodeHintType, Object> hints = new HashMap<>();
        // 指定纠错品级,纠错级别(L 7%、M 15%、Q 25%、H 30%)
        hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
        // 内容所利用字符集编码
        hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
        // 二维码的格局是BarcodeFormat.QR_CODE
        BitMatrix bm = new MultiFormatWriter().encode(text,
                BarcodeFormat.QR_CODE, width, height, hints);
        // 生当作二维码图片
        // File out = new File("qr_code.png"); //默认项目根目次里
        File out = new File("E:" + File.separator + "file/qr_code.png"); // 指定输出路径  File.separator解决跨平台
        WriteBitMatricToFile.writeBitMatricToFile(bm, format, out);
    }


/**
* 条形码

* @throws IOException
*/
public void ean_code() throws WriterException, IOException {
        int width = 200;
        int height = 100;
        String text = "6923450657713";
        String format = "png";
        HashMap<EncodeHintType, String> hints = new HashMap<>();
        hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
        // 条形码的格局是 BarcodeFormat.EAN_13
        BitMatrix bm = new MultiFormatWriter().encode(text,
                BarcodeFormat.EAN_13, width, height, hints);
        // 生当作条形码图片
        File out = new File("E:" + File.separator + "file/ean3.png");// 指定输出路径 // File.separator解决跨平台


        //不需要条形码的log
        WriteBitMatricToFile.writeToStream(bm, format, new FileOutputStream(out));


        //需要条形码的log
        //WriteBitMatricToFile.writeBitMatricToFile(bm, format, out);
    }
}

java如何使用zxing识别图片条码

文章插图

java如何使用zxing识别图片条码

文章插图

java如何使用zxing识别图片条码

文章插图

5第五
:读取二维码和条形码测试类 。
1、具体代码如下所示:
import com.google.zxing.*;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.GlobalHistogramBinarizer;
import com.google.zxing.common.HybridBinarizer;


import javax.imageio.ImageIO;

推荐阅读