您好,登錄后才能下訂單哦!
本文實例為大家分享了Android截取指定View為圖片的具體代碼,供大家參考,具體內容如下
這個功能是為了截取指定的View為圖片,然后分享到微信以及朋友圈使用的!
如圖所示,我需要截取整個LinearLayout的內容,多余的內容全部都要去掉!
//諾,主要觀察這兩個方法 /** * 壓縮圖片 * * @param bgimage * @param newWidth * @param newHeight * @return */ public static Bitmap zoomImage(Bitmap bgimage, double newWidth, double newHeight) { // 獲取這個圖片的寬和高 float width = bgimage.getWidth(); float height = bgimage.getHeight(); // 創建操作圖片用的matrix對象 Matrix matrix = new Matrix(); // 計算寬高縮放率 float scaleWidth = ((float) newWidth) / width; float scaleHeight = ((float) newHeight) / height; // 縮放圖片動作 //matrix.postScale(scaleWidth, scaleHeight);//TODO 因為寬高不確定的因素,所以不縮放 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; }
其實很簡單,就是首先獲取View的寬高,然后設置bitmap格式,最后生成一張Bitmmap對象,然后在繪制出來,就這么個道理!
//這個是使用邏輯 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();
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。