本地檔案轉 Drawable
/**
* 將本地檔案轉換為 Drawable
*/
private Drawable iconDrawable(String file)
{
if (file == null || file.isEmpty())
{
return null;
}
Drawable drawable = null;
try
{
FileInputStream fis = new FileInputStream(file);
Bitmap bitmap = BitmapFactory.decodeStream(fis);
drawable = new BitmapDrawable(getResources(), bitmap);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
return drawable;
}
或者直接利用:Bitmap bitmap = BitmapFactory.decodeFile(file); 獲取 Bitmap,再構造出 Drawable。
說到 Bitmap,順便講一下Bitmap 改變圖片尺寸的方法:
下面例子是從 assets 目錄下讀取圖片檔案,並支援改變圖片尺寸返回 Bitmap
/**
* 將 assets 下的圖片轉換為 Bitmap
* @param fileName -- assets 下圖片檔案
* @param dst_w -- 輸出寬度(為 0 時原圖尺寸輸出)
* @param dst_h -- 輸出高度(為 0 時原圖尺寸輸出)
* @return Bitmap 圖片
* 說明:
* dst_w / dst_h 任意一值為 0 時,原圖尺寸輸出
*/
private Bitmap imageFromAssetFile(String fileName, int dst_w, int dst_h)
{
Bitmap image = null;
try
{
AssetManager am = getResources().getAssets();
InputStream is = am.open(fileName);
if (is != null)
{
image = BitmapFactory.decodeStream(is);
is.close();
}
}
catch (Exception e)
{
}
if (dst_w == 0 || dst_h == 0)
{
return image;
}
if (image == null)
{
return null;
}
// 調整圖片大小
int src_w = image.getWidth();
int src_h = image.getHeight();
float scale_w = ((float)dst_w) / src_w;
float scale_h = ((float)dst_h) / src_h;
Matrix matrix = new Matrix();
matrix.postScale(scale_w, scale_h);
return Bitmap.createBitmap(image, 0, 0, src_w, src_h, matrix, true);
}
相關文章
- ASM 檔案與本地檔案的轉換ASM
- Drawable和Bitmap轉換
- Javascript操作本地檔案JavaScript
- Oracle寫本地檔案Oracle
- 利用java本地複製檔案及資料夾 (轉)Java
- 儲存檔案到本地
- WKWebView載入本地檔案WebView
- Mysql匯入本地檔案MySql
- 檔案包含漏洞(本地包含配合檔案上傳)
- SpringMvc本地上傳檔案SpringMVC
- servlet能否讀取本地檔案???Servlet
- 微信小程式wx.uploadfile 本地檔案轉base64微信小程式
- 在.Net中將MailMessage儲存為本地eml檔案(轉)AI
- Remix本地化,載入本地合約檔案,本地連結RemixREM
- Drawable轉換為Bitmap兩種方法
- 將本地檔案傳輸到GitHubGithub
- 讀取本地Excel檔案生成echartsExcelEcharts
- SpringBoot 新增本地 jar 檔案Spring BootJAR
- javascript如何將檔案儲存到本地JavaScript
- JQuery讀取本地json檔案jQueryJSON
- 從ASM磁碟中複製檔案到本地檔案系統ASM
- Java讀取本地檔案,並顯示在JSP檔案中JavaJS
- 處理Maven本地倉庫.lastUpdated檔案MavenAST
- rsync同步和備份檔案到本地
- hdfs檔案本地許可權問題
- 通過 hosts檔案配置本地域名
- oracle本地驗證和密碼檔案Oracle密碼
- java程式實現刪除本地檔案Java
- linux採用scp命令拷貝檔案到本地,拷貝本地檔案到遠端伺服器Linux伺服器
- SAP Fiori Elements 本地專案的 annotations.xml 檔案XML
- ie8上傳本地圖片檔案轉base64 並預覽地圖
- 使用XMLHttp和ADODB.Stream取得遠端檔案並儲存到本地 (轉)XMLHTTP
- vue3.0 請求本地json 檔案VueJSON
- 用Groovy讀取本地檔案的程式碼
- git和tormoisegit上傳本地檔案到githubORMGithub
- 滲透測試之本地檔案包含(LFI)
- MAUI Blazor 如何透過url使用本地檔案UIBlazor
- IntelliJ IDEA 新增本地xsd檔案IntelliJIdea