android生成二维码的核心代码
16lz
2021-01-26
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;
}
更多相关文章
- Android(安卓)差分包制作
- react-native Android打包APK
- 关于Android开发过程中,createImage的一些总结。
- android studio 6.0以上动态申请权限的代码
- unix like系统的android反编译工具
- android圆形图片显示ImageView超简单控件
- 从输入流中获取数据并以字节数组返回,这种输入流可以来自Android
- 【android】存储数组数据到SharedPreferences
- Android中的分辨率小结