欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android生成二维码的核心代码

程序员文章站 2022-05-22 17:06:14
...

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;

}