利用zxing生成二维码

使用zxing类库可以很容易生成二维码QRCode,主要代码如下:

 private Bitmap createQRCode(String str,int width,int height)
 {
        Bitmap bmp=null;
        if(str.equals(""))return null;
        try
        {
             MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
             Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();
             hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
             hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
             BitMatrix bitMatrix=null;
             try 
             {
                  bitMatrix = multiFormatWriter.encode(str, BarcodeFormat.QR_CODE, width, height,hints);
             } 
             catch (WriterException e) 
             {
                e.printStackTrace();
             }
             
             int[] pixels = new int[width * height];
             for (int y = 0; y < height; y++) 
             {
                 for (int x = 0; x < width; x++) 
                 {
                     if (bitMatrix.get(x, y)) 
                     {
                         pixels[y * width + x] = 0xff000000;
                     } 
                     else 
                     {
                         pixels[y * width + x] = 0xffffffff;
                     }
                 }
             }
             bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
             bmp.setPixels(pixels, 0, width, 0, 0, width, height);
           
        }
        catch(Exception e)
        {
            e.printStackTrace();
            bmp=null;
        }
        return bmp;
 }

 

posted @ 2015-08-26 16:25  南极冰川雪  阅读(290)  评论(0编辑  收藏  举报