您好,登錄后才能下訂單哦!
本文實(shí)例為大家分享了Android截取指定View為圖片的具體代碼,供大家參考,具體內(nèi)容如下
這個(gè)功能是為了截取指定的View為圖片,然后分享到微信以及朋友圈使用的!
如圖所示,我需要截取整個(gè)LinearLayout的內(nèi)容,多余的內(nèi)容全部都要去掉!
//諾,主要觀察這兩個(gè)方法 /** * 壓縮圖片 * * @param bgimage * @param newWidth * @param newHeight * @return */ public static Bitmap zoomImage(Bitmap bgimage, double newWidth, double newHeight) { // 獲取這個(gè)圖片的寬和高 float width = bgimage.getWidth(); float height = bgimage.getHeight(); // 創(chuàng)建操作圖片用的matrix對(duì)象 Matrix matrix = new Matrix(); // 計(jì)算寬高縮放率 float scaleWidth = ((float) newWidth) / width; float scaleHeight = ((float) newHeight) / height; // 縮放圖片動(dòng)作 //matrix.postScale(scaleWidth, scaleHeight);//TODO 因?yàn)閷捀卟淮_定的因素,所以不縮放 Bitmap bitmap = Bitmap.createBitmap(bgimage, 0, 0, (int) width, (int) height, matrix, true); return bitmap; } /** * 截取指定View為圖片 * * @param view * @return * @throws Throwable */ public static Bitmap captureView(View view) throws Throwable { Bitmap bm = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); view.draw(new Canvas(bm)); return bm; }
其實(shí)很簡(jiǎn)單,就是首先獲取View的寬高,然后設(shè)置bitmap格式,最后生成一張Bitmmap對(duì)象,然后在繪制出來(lái),就這么個(gè)道理!
//這個(gè)是使用邏輯 Bitmap bitmap = null; try { bitmap = captureView(mShareBackgroundSign); } catch (Throwable throwable) { throwable.printStackTrace(); } UMImage umImage = null; umImage = new UMImage(getActivity(), zoomImage(bitmap, 720, 1280)); new ShareAction(getActivity()).setPlatform(SHARE_MEDIA.WEIXIN) .withText(content) .withMedia(umImage) .share();
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。