/*** * generate two-dimensional code method *@paramSTR Generated content *@paramwidthheight Width and Height *@return * @throwswriterexception*/ Public StaticBitmap Create2dcode (String str,barcodeformat Barcodeformat,intWidthheight)throwswriterexception {Hashtable<encodehinttype, string> hints =NewHashtable<>(); Hints.put (Encodehinttype.character_set,"Utf-8"); //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 failureBitmatrix matrix =NewMultiformatwriter (). Encode (str, Barcodeformat, Widthheight, widthheight); intwidth =matrix.getwidth (); intHeight =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(inty = 0; Y < height; y++) { for(intx = 0; x < width; X + +) { 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 APIBitmap.setpixels (pixels, 0, width, 0, 0, width, height); returnbitmap; } Public StaticBitmap creatEAN13 (String str,intParamswidth,intParamsheight)throwswriterexception{Hashtable<encodehinttype, string> hints =NewHashtable<>(); Hints.put (Encodehinttype.character_set,"Utf-8"); //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 failureBitmatrix matrix =NewMultiformatwriter (). Encode (str, barcodeformat.ean_13, Paramswidth, paramsheight); intwidth =matrix.getwidth (); intHeight =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(inty = 0; Y < height; y++) { for(intx = 0; x < width; X + +) { 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 APIBitmap.setpixels (pixels, 0, width, 0, 0, width, height); returnbitmap; } Public StaticBitmap CREATUPCA (String str,intParamswidth,intParamsheight)throwswriterexception{Hashtable<encodehinttype, string> hints =NewHashtable<>(); Hints.put (Encodehinttype.character_set,"Utf-8"); //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 failureBitmatrix matrix =NewMultiformatwriter (). Encode (str, barcodeformat.upc_a, Paramswidth, paramsheight); intwidth =matrix.getwidth (); intHeight =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(inty = 0; Y < height; y++) { for(intx = 0; x < width; X + +) { 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 APIBitmap.setpixels (pixels, 0, width, 0, 0, width, height); returnbitmap; }
Import zxing Package
Compile ' com.google.zxing:core:[email protected] '
Zxing generating QR codes and barcodes