真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android中URL轉(zhuǎn)換成二維碼的實(shí)現(xiàn)方法-創(chuàng)新互聯(lián)

這篇文章主要講解了Android中URL轉(zhuǎn)換成二維碼的實(shí)現(xiàn)方法,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。

創(chuàng)新互聯(lián)公司堅信:善待客戶,將會成為終身客戶。我們能堅持多年,是因?yàn)槲覀円恢笨芍档眯刨?。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。10余年網(wǎng)站建設(shè)經(jīng)驗(yàn)創(chuàng)新互聯(lián)公司是成都老牌網(wǎng)站營銷服務(wù)商,為您提供成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、H5建站、網(wǎng)站制作、品牌網(wǎng)站建設(shè)、成都小程序開發(fā)服務(wù),給眾多知名企業(yè)提供過好品質(zhì)的建站服務(wù)。

二維碼已經(jīng)成為我們?nèi)粘I钪械囊粋€不可獲取的產(chǎn)物,火車票上,景區(qū)門票,超市付款等等都會有二維碼的身影。

本文將實(shí)現(xiàn)由URL轉(zhuǎn)換成二維碼的過程。

先看一下示例圖

Android中URL轉(zhuǎn)換成二維碼的實(shí)現(xiàn)方法

從示例圖中我們可以清晰地看到,URL被轉(zhuǎn)換成了二維碼。

下面跟隨我來一起實(shí)現(xiàn)這個功能。

導(dǎo)入Google提供的開源庫

compile 'com.google.zxing:core:3.3.0'

來講解一下核心的部分:二維碼轉(zhuǎn)換

①生成二維碼Bitmap

public static boolean createQRImage(String content, int widthPix, int heightPix, Bitmap logoBm, String filePath) {
  try {
   if (content == null || "".equals(content)) {
    return false;
   }

   //配置參數(shù)
   Map hints = new HashMap<>();
   hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
   //容錯級別
   hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
   //設(shè)置空白邊距的寬度
   hints.put(EncodeHintType.MARGIN, 2); //default is 4

   // 圖像數(shù)據(jù)轉(zhuǎn)換,使用了矩陣轉(zhuǎn)換
   BitMatrix bitMatrix = new QRCodeWriter().encode(content, BarcodeFormat.QR_CODE, widthPix, heightPix, hints);
   int[] pixels = new int[widthPix * heightPix];
   // 下面這里按照二維碼的算法,逐個生成二維碼的圖片,
   // 兩個for循環(huán)是圖片橫列掃描的結(jié)果
   for (int y = 0; y < heightPix; y++) {
    for (int x = 0; x < widthPix; x++) {
     if (bitMatrix.get(x, y)) {
      pixels[y * widthPix + x] = 0xff000000;
     } else {
      pixels[y * widthPix + x] = 0xffffffff;
     }
    }
   }

   // 生成二維碼圖片的格式,使用ARGB_8888
   Bitmap bitmap = Bitmap.createBitmap(widthPix, heightPix, Bitmap.Config.ARGB_8888);
   bitmap.setPixels(pixels, 0, widthPix, 0, 0, widthPix, heightPix);

   if (logoBm != null) {
    bitmap = addLogo(bitmap, logoBm);
   }

   //必須使用compress方法將bitmap保存到文件中再進(jìn)行讀取。直接返回的bitmap是沒有任何壓縮的,內(nèi)存消耗巨大!
   return bitmap != null && bitmap.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(filePath));
  } catch (WriterException | IOException e) {
   e.printStackTrace();
  }

  return false;
 }

網(wǎng)頁題目:Android中URL轉(zhuǎn)換成二維碼的實(shí)現(xiàn)方法-創(chuàng)新互聯(lián)
文章地址:http://weahome.cn/article/igiig.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部