生成二维码

来源:互联网 发布:国家教育大数据 编辑:程序博客网 时间:2024/05/07 23:35
// 编码public Bitmap encode() {try {String str = "test encode qrcode";// 生成二维矩阵,编码时指定大小,不要生成了图片以后再进行缩放,这样会模糊导致识别失败BitMatrix matrix = new MultiFormatWriter().encode(str,BarcodeFormat.QR_CODE, 300, 300);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,具体参考apibitmap.setPixels(pixels, 0, width, 0, 0, width, height);return bitmap;} catch (WriterException e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}