设为首页 收藏本站 662p开源网
开启辅助访问 切换到宽版

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

切换风格 立即注册 找回密码

安卓教程网

发表于 2019-4-2 11:12:04 | 显示全部楼层 |阅读模式
更多
目录:zxing->encoding->EncodingHandler类 中修改 createQRCode方法
  1. private static final int BLACK = 0xff000000;
  2.     private static final int WHITE = 0xffffffff;

  3.     public static BitMap createQRCode(String str,int widthAndHeight) throws WriterException {
  4.         String contentsToEncode = str;
  5.         if (contentsToEncode == null) {
  6.             return null;
  7.         }
  8.         Map<EncodeHintType, Object> hints = new EnumMap<>(EncodeHintType.class);
  9.         //hints.put(EncodeHintType.CHARACTER_SET, encoding);
  10.         hints.put(EncodeHintType.MARGIN, 0); /* default = 4 */
  11.         MultiFormatWriter writer = new MultiFormatWriter();
  12.         BitMatrix result;
  13.         try {
  14.             result = writer.encode(contentsToEncode, BarcodeFormat.QR_CODE , widthAndHeight, widthAndHeight, hints);
  15.         } catch (Exception e) {
  16.             // Unsupported format
  17.             e.printStackTrace();
  18.             return null;
  19.         }

  20.         int width = result.getWidth();
  21.         int height = result.getHeight();
  22.         int[] pixels = new int[width * height];
  23.         for (int y = 0; y < height; y++) {
  24.             int offset = y * width;
  25.             for (int x = 0; x < width; x++) {
  26.                 pixels[offset + x] = result.get(x, y) ? BLACK : Color.WHITE;
  27.             }
  28.         }

  29.         Bitmap bitmap = Bitmap.createBitmap(width, height,
  30.                 Bitmap.Config.ARGB_8888);
  31.         bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
  32.         return bitmap;
  33.     }
复制代码



您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Archiver|手机版|小黑屋|安卓教程网 ( 粤ICP备12089784号  

GMT+8, 2019-9-18 06:05 , Processed in 0.387857 second(s), 46 queries .

Powered by Discuz X3.1

© 2001-2013 IOS教程网

快速回复 返回顶部 返回列表