public Bitmap Create2DCode(String str) throws WriterException {

// 生成二维矩阵,编码时指定大小,不要生成了图片以后再进行缩放,这样会模糊导致识别失败

BitMatrix matrix = new MultiFormatWriter().encode(str,BarcodeFormat.QR_CODE, 400, 400);

int width = matrix.getWidth();

int height = matrix.getHeight();

// 二维矩阵转为一维像素数组,也就是一直横着排了

int[] pixels = new int[width * height];

for (int y = 0; y < height; y++) {

for (int x = 0; x < width; x++) {

if(matrix.get(x, y)){

pixels[y * width + x] = 0xff000000;

}

}

}

Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);

// 通过像素数组生成bitmap,具体参考api

bitmap.setPixels(pixels, 0, width, 0, 0, width, height);

return bitmap;

}

更多相关文章

  1. Android(安卓)差分包制作
  2. react-native Android打包APK
  3. 关于Android开发过程中,createImage的一些总结。
  4. android studio 6.0以上动态申请权限的代码
  5. unix like系统的android反编译工具
  6. android圆形图片显示ImageView超简单控件
  7. 从输入流中获取数据并以字节数组返回,这种输入流可以来自Android
  8. 【android】存储数组数据到SharedPreferences
  9. Android中的分辨率小结

随机推荐

  1. 在Android(安卓)中使用KSOAP2调用WebServ
  2. android学习(1)——TextView属性
  3. Android Studio上方便使用butterknife注
  4. Android Checkbox详解
  5. Android资源管理框架-------之Android中
  6. Android下关于Dialog的学习
  7. Android(安卓)小项目之--Mini音乐播放器
  8. Android设置背景色为透明的两种方法
  9. 服务器端返回给客户端的数据格式
  10. android 图片阅读 之 穹の思念