這篇文章主要講解了Android中URL轉(zhuǎn)換成二維碼的實現(xiàn)方法,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。
創(chuàng)新互聯(lián)公司堅信:善待客戶,將會成為終身客戶。我們能堅持多年,是因為我們一直可值得信賴。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。10余年網(wǎng)站建設(shè)經(jīng)驗創(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ū)門票,超市付款等等都會有二維碼的身影。
本文將實現(xiàn)由URL轉(zhuǎn)換成二維碼的過程。
先看一下示例圖
從示例圖中我們可以清晰地看到,URL被轉(zhuǎn)換成了二維碼。
下面跟隨我來一起實現(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<EncodeHintType, Object> 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)換成二維碼的實現(xiàn)方法-創(chuàng)新互聯(lián)
當(dāng)前URL:http://bm7419.com/article6/igiig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、微信小程序、網(wǎng)站維護(hù)、軟件開發(fā)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)