溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android截取指定View為圖片的實(shí)現(xiàn)方法

發(fā)布時(shí)間:2020-10-16 10:22:17 來(lái)源:腳本之家 閱讀:182 作者:AND_Devil 欄目:移動(dòng)開(kāi)發(fā)

本文實(shí)例為大家分享了Android截取指定View為圖片的具體代碼,供大家參考,具體內(nèi)容如下

Android截取指定View為圖片的實(shí)現(xiàn)方法

這個(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í)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI