public static Bitmap Create2dcode (String str) throws Writerexception {
Generate a two-dimensional matrix, specify the size of the encoding, do not generate a picture and then zoom, which will blur leading to recognition failure
hashtable<encodehinttype,string> hints = new hashtable<encodehinttype,string> ();
hints.put (Encodehinttype.character_set, "UTF-8");
Bitmatrix matrix = new Multiformatwriter (). Encode (Str,barcodeformat.qr_code, 300, 300,hints);
int width = matrix.getwidth ();
int height = matrix.getheight ();
The two-dimensional matrix is converted into a one-dimensional pixel group, which is always lined up horizontally.
int[] pixels = new int[width * height];
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; + +) {
if (Matrix.get (x, y)) {
Pixels[y * width + x] = 0xff000000;
}
}
}
Bitmap Bitmap = bitmap.createbitmap (width, height,
Bitmap.Config.ARGB_8888);
Generate bitmap by pixel Group, reference API
Bitmap.setpixels (pixels, 0, width, 0, 0, width, height);
return bitmap;
}
Using zxing to generate two-dimensional code