关于使用Zxing生成二维码的一些调整
来源:互联网 发布:vb中range对象 编辑:程序博客网 时间:2024/05/22 02:20
说明:
1.生成二维码的代码
2.去空白边框,网上的代码有bug,我做了修改
package dagx.data.pictool;import java.io.File;import java.util.HashMap;import java.util.Map;import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatWriter;import com.google.zxing.common.BitMatrix;import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;import dagx.data.utils.PropertiesUtil;public class TwoDimensionCode {/** * 生成二维码(QRCode)图片 * @param content 存储内容 * @param imgPath 图片路径 * @throws Exception */public static void encoderQRCode(String content, String imgPath) throws Exception {MultiFormatWriter multiFormatWriter = new MultiFormatWriter();Map hints = new HashMap();hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");hints.put(EncodeHintType.MARGIN, 0);hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);int width = Integer.parseInt(PropertiesUtil.getValue("width"));int height = Integer.parseInt(PropertiesUtil.getValue("height"));BitMatrix bitMatrix = multiFormatWriter.encode(content, BarcodeFormat.QR_CODE, width, height, hints);bitMatrix = updateBit(bitMatrix, 2);MatrixToImageWriter.writeToFile(bitMatrix, "PNG", new File(imgPath));}/** * 去掉空白的边框 * @param matrix * @param margin * @return */private static BitMatrix updateBit(BitMatrix matrix, int margin) {int tempM = margin * 2;int[] rec = matrix.getEnclosingRectangle(); // 获取二维码图案的属性int resWidth = rec[2] + tempM;int resHeight = rec[3] + tempM;BitMatrix resMatrix = new BitMatrix(resWidth, resHeight); // 按照自定义边框生成新的BitMatrixresMatrix.clear();for (int i = margin; i < resWidth; i++) { // 循环,将二维码图案绘制到新的bitMatrix中for (int j = margin; j < resHeight; j++) {if (matrix.get(i - margin + rec[0], j - margin + rec[1])) {resMatrix.set(i, j);}}}return resMatrix;}}
0 0
- 关于使用Zxing生成二维码的一些调整
- 使用zxing生成二维码
- 使用ZXing生成二维码
- 使用zxing生成二维码
- 使用zxing生成二维码
- 使用zxing生成二维码
- 使用zxing生成二维码
- 使用zxing生成二维码
- 使用 zxing生成二维码
- 使用zxing生成二维码
- 使用Zxing生成带logo的二维码
- 使用google的zxing生成二维码
- 使用google的zxing生成二维码
- 使用Zxing生成带有logo的二维码
- zxing的二维码生成
- Zxing二维码的生成
- 【ZXing】Android使用zxing生成二维码图片
- java 使用zxing 生成二维码
- Java新技术---线程学习之常用同步工具类
- Java NIO使用及原理分析 (四)
- 屏幕旋转--强转(可用)
- 【hadoop】15、hive安装
- 每天进步一点点——linux——rpm
- 关于使用Zxing生成二维码的一些调整
- IOS App Icon Size 图标尺寸
- Xcode 6制作动态及静态Framework
- iOS代码编程规范
- 织梦dedecms|商品信息页标签
- Java NIO使用及原理分析 (一)
- iphone ios 如何使用gcd,block
- 兼容问题
- 可编辑子项的CListCtrl类(失去焦点时,CEdit消息被屏蔽的问题)