本文主要是介绍zxing 去白边,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
方法1:
网上有相关的一些分析资料,百度贴吧里也有原因,因为创建的时候预先插入了白边。 这里给出不修改源代码的方案。 测试PDF_418和QR_CODE有效 其他的同理,需要研究源代码
- public static BitMatrix deleteWhite(BitMatrix matrix){
- int[] rec = matrix.getEnclosingRectangle();
- int resWidth = rec[2] + 1;
- int resHeight = rec[3] + 1;
- BitMatrix resMatrix = new BitMatrix(resWidth, resHeight);
- resMatrix.clear();
- for (int i = 0; i < resWidth; i++) {
- for (int j = 0; j < resHeight; j++) {
- if (matrix.get(i + rec[0], j + rec[1]))
- resMatrix.set(i, j);
- }
- }
- return resMatrix;
- }
方法2:
Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");hints.put(EncodeHintType.MARGIN, 1);try {matrix = new MultiFormatWriter().encode(contents,BarcodeFormat.QR_CODE, 300, 300, hints);} catch (WriterException e) {e.printStackTrace();} 测试可以~
这篇关于zxing 去白边的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!