Android截取指定View為圖片的實(shí)現(xiàn)方法
本文實(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對象
Matrix matrix = new Matrix();
// 計(jì)算寬高縮放率
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
// 縮放圖片動作
//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í)很簡單,就是首先獲取View的寬高,然后設(shè)置bitmap格式,最后生成一張Bitmmap對象,然后在繪制出來,就這么個(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();
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android Bitmap的截取及狀態(tài)欄的隱藏和顯示功能
- Android實(shí)現(xiàn)bitmap指定區(qū)域滑動截取功能
- android 手機(jī)截取長屏實(shí)例代碼
- 解析Android截取手機(jī)屏幕兩種實(shí)現(xiàn)方案
- Android實(shí)現(xiàn)拍照截取和相冊圖片截取
- Android個(gè)人中心的頭像上傳,圖片編碼及截取實(shí)例
- Android 仿QQ頭像自定義截取功能
- Android開發(fā)獲取短信的內(nèi)容并截取短信
- Android中截取當(dāng)前屏幕圖片的實(shí)例代碼
- Android截取視頻幀并轉(zhuǎn)化為Bitmap示例
相關(guān)文章
android12?SD如何動態(tài)申請讀寫權(quán)限
這篇文章主要給大家介紹了關(guān)于android12?SD如何動態(tài)申請讀寫權(quán)限的相關(guān)資料,從Android?6.0開始,權(quán)限不再是在manifest?件中粘貼?下即可,這時(shí)候權(quán)限也正式?進(jìn)?家的視野,需要的朋友可以參考下2023-07-07
Android ActivityManagerService啟動流程詳解
這篇文章主要介紹了Android ActivityManagerService啟動流程,AMS,即ActivityManagerService,是安卓java framework的一個(gè)服務(wù),運(yùn)行在system_server進(jìn)程。此服務(wù)十分重要,因?yàn)樗芾碇沧康乃拇蠼M件,是安卓APP開發(fā)者最常接觸到的一個(gè)服務(wù)2023-02-02
Android菜單操作之創(chuàng)建并響應(yīng)菜單
這篇文章主要介紹了Android菜單操作之創(chuàng)建并響應(yīng)菜單的相關(guān)資料,如何使用代碼創(chuàng)建菜單項(xiàng),給菜單項(xiàng)分組,及各種響應(yīng)菜單事件的方法,需要的朋友可以參考下2016-04-04
Android自定義相機(jī)實(shí)現(xiàn)自動對焦和手動對焦
這篇文章主要為大家詳細(xì)介紹了android手動實(shí)現(xiàn)相機(jī)自動和手動對焦功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
Android學(xué)習(xí)筆記之ContentProvider和Uri詳解
本篇文章主要介紹了Android學(xué)習(xí)筆記之ContentProvider和Uri詳解,對于學(xué)習(xí)Android的朋友具有一定的參考價(jià)值,有需要可以可以了解一下。2016-11-11
android?studio數(shù)據(jù)存儲建立SQLite數(shù)據(jù)庫實(shí)現(xiàn)增刪查改
這篇文章主要介紹了vandroid?studio數(shù)據(jù)存儲建立SQLite數(shù)據(jù)庫實(shí)現(xiàn)增刪查改,分別使用sqlite3工具和Android代碼的方式建立SQLite數(shù)據(jù)庫,具體內(nèi)容,需要的小伙伴可以參考下面文章得詳細(xì)內(nèi)容2021-12-12

