zoukankan      html  css  js  c++  java
  • Android项目实战(五十四):zxing 生成二维码图片去除白色内边距的解决方案

    目录:zxing->encoding->EncodingHandler类 中修改 createQRCode方法

       private static final int BLACK = 0xff000000;
        private static final int WHITE = 0xffffffff;
    
        public static Bitmap createQRCode(String str,int widthAndHeight) throws WriterException {
            String contentsToEncode = str;
            if (contentsToEncode == null) {
                return null;
            }
            Map<EncodeHintType, Object> hints = new EnumMap<>(EncodeHintType.class);
            //hints.put(EncodeHintType.CHARACTER_SET, encoding);
            hints.put(EncodeHintType.MARGIN, 0); /* default = 4 */
            MultiFormatWriter writer = new MultiFormatWriter();
            BitMatrix result;
            try {
                result = writer.encode(contentsToEncode, BarcodeFormat.QR_CODE , widthAndHeight, widthAndHeight, hints);
            } catch (Exception e) {
                // Unsupported format
                e.printStackTrace();
                return null;
            }
    
            int width = result.getWidth();
            int height = result.getHeight();
            int[] pixels = new int[width * height];
            for (int y = 0; y < height; y++) {
                int offset = y * width;
                for (int x = 0; x < width; x++) {
                    pixels[offset + x] = result.get(x, y) ? BLACK : Color.WHITE;
                }
            }
    
            Bitmap bitmap = Bitmap.createBitmap(width, height,
                    Bitmap.Config.ARGB_8888);
            bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
            return bitmap;
        }
  • 相关阅读:
    sql 积分和消费,类似银行出入账单
    easyui datagrid选中当前行的index
    jquery 1+1=11 纠结死我了
    jquery 选择器
    easyui tree节点设置disabled的功能
    用户体验为什么如此重要?
    三个月内获得三年工作经验
    常用网站
    防呆设计
    读书笔记:启示录,打造用户喜爱的产品
  • 原文地址:https://www.cnblogs.com/xqxacm/p/10637404.html
Copyright © 2011-2022 走看看