1. 程式人生 > >儲存Drawable資源為Bitmap檔案

儲存Drawable資源為Bitmap檔案

儲存Drawable資源為bitmap檔案

在實際開發中有時候會需要儲存專案的drawable檔案為bitmap檔案

下面的程式碼是網上能找到的

public Bitmap convertViewToBitmap(View view){
    view.setDrawingCacheEnabled(true);
    view.buildDrawingCache();
    Bitmap bitmap = view.getDrawingCache();
    return bitmap;
}

程式碼很簡單,但是這個程式碼是可以將佈局檔案中的view轉成bitmap檔案的,但是有一個問題就是,如果這個佈局檔案是通過程式碼生成的,那麼這個轉換成bitmap時,這個bitmap就是null,所以往往還需要對這個佈局進行重新測量一下,才能得到這個bitmap

下面是更正後的程式碼

public static Bitmap convertViewToBitmap(View view) {
    view.measure(
            View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
            View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
    view.layout(0, 0, view.getMeasuredWidth(),
            view.getMeasuredHeight());
    view.setDrawingCacheEnabled(true);
    view.buildDrawingCache();
    Bitmap bitmap = view.getDrawingCache();
    return bitmap;
}

這裡有一個問題就是,佈局的測量模式只能是UNSPECIFIED,筆者親測過,如果是降測量模式改為AT_MOST或者是EXACTLY都不行,得到的bitmap依然是null,不知道哪位大神可否知道這是什麼原因,還請不吝賜教

相關推薦

儲存Drawable資源Bitmap檔案

儲存Drawable資源為bitmap檔案 在實際開發中有時候會需要儲存專案的drawable檔案為bitmap檔案 下面的程式碼是網上能找到的 public Bitmap convertViewToBitmap(View view){ view.

python儲存身份證號碼csv檔案顯示問題解決

用python處理含身份證號碼的文字檔案,將其另外儲存為csv檔案,該csv檔案使用wps開啟顯示身份證號碼後面三位數變為0,解決的辦法是:身份證號碼前加'\t',例如下面程式碼: origine_file = r"C:\Files\名單.txt" save_to = "C:\Fil

爬蟲資料儲存csv檔案時,表格中間隔有空行問題

問題描述:將爬取的資料儲存的csv檔案,遇到幾個問題,原始碼如下: with open('F:\\Pythontest1\\douban.csv','w') as f: writer = csv.writer(f,dialect='excel') writer.writero

linux終端儲存文字檔案

1. 只儲存一個命令的結果時候 ls>ls.txt 會覆蓋檔案原有內容 ls>>ls.txt 會新增到檔案末尾 2. tee 命令 ls | tee ls.txt 會覆蓋檔案原有內容 ls | tee -a ls.txt 會新增到檔案末尾

js 把字串儲存txt檔案,並下載到本地

程式碼如下           exportRaw('text.txt','123123123') function fakeClick(obj) { var ev = document.createEvent("MouseE

將HTML頁面自動儲存PDF檔案並上傳的兩種方式(一)-前端(react)方式

一、業務場景   公司的樣本檢測報告以React頁面的形式生成,已調整為A4大小的樣式並已實現分頁,業務上需要將這個網頁生成PDF檔案,並上傳到伺服器,後續會將這個檔案傳送給客戶(這裡不考慮)。 二、原來的實現形式   瀏覽器原生方法:window.print()可以將網頁儲存為PDF檔案,由於檢測報告

提交【截圖Unity指定螢幕範圍儲存pdf檔案且指定儲存路徑】專案到github(略略略)

1.Git & GithubDesktop https://git-scm.com/ 下載Git(程式猿本猿使用) https://desktop.github.com/ 下載GithubDesktop 2.命令語句 ps : github建立倉庫後有對應命令語句 g

Camtasia儲存MP4檔案

Camtasia軟體也是一個剪輯視訊的軟體,它可以在時間軸上剪下,隱藏或顯示部分視訊,同時您還可以進行聲音編輯,為視訊新增轉場效果,建立標題剪輯,自動聚焦,手動縮放等,今天就來教大家把Camtasia儲存為MP4檔案。 執行Camtasia軟體,點選“new project”新建一個工程進入

Python地學分析 — GDAL將多個遙感影象疊加儲存tif檔案

歡迎關注博主的微信公眾號:“智慧遙感”。 該公眾號將為您奉上Python地學分析、爬蟲、資料分析、Web開發、機器學習、深度學習等熱門原始碼。 本人的GitHub程式碼資料主頁(持續更新中,多給Star,多Fork): https://github.com/xbr2017

將python訓練好的模型儲存pmml檔案供java呼叫

1、PMLL概述      用python訓練好的機器學習模型如果上線部署,被java呼叫,可以將模型儲存為pmml檔案,那麼什麼是pmml呢?PMML是資料探勘的一種通用的規範,它用統一的XML格式來描述我們生成的機器學習模型。這樣無論你的模型是sklearn,R還是Sp

批量的圖片儲存mat檔案 -- MATLAB

matlab實現批量圖片向mat轉換,對應大量資料集圖片處理異常重要 clc; clear all; num = 1000; %圖片數量 for i = 1 : num    IMAGE = imread(sprintf('G:\\TEST\\%.jpg'

android將LinearLayout中的內容儲存Bitmap

前幾天,和別人探討問題的時候,突然瞭解到還有這個功能。他是要合成LinearLayout中的多個圖片,如果圖片合成,就很麻煩,所以直接儲存一個LinearLayout。 現在想起來,儲存LinearLayout也那樣,因為LinearLayout也是一個view,我儲存這

獲取當前螢幕影象並儲存bmp檔案

此函式建立了1080p高清圖片,即解析度為:1920 x  1080 如果想建立不同的解析度圖片,可以修改函式中的 nWidth 和 nHeight. 此文僅供參考,如有不妥之處,請多多指教。 void Create1080p() {     int nWidth = 19

VC螢幕截圖,儲存Bmp檔案

新建一個MFC基於對話方塊的應用程式,在介面上放一個Button,為其實現點選事件,程式碼如下: void CScreenShotDlg::OnBtnScreenshot() { RECT rect = {0, 0, 1900, 1000}; HBITMAP hbmp

如何將點陣圖物件儲存BMP檔案

  GDI中點陣圖物件是很常見的GDI物件,但是無論是SDK,還是MFC都沒有提供現在的函式或是方法來將一個位圖物件儲存為一個BMP檔案,這裡介紹一下儲存方法。 點陣圖檔案格式: DIB檔案有四個主要部分: 檔案表頭(BITMAPFILEHEADER) 資訊表頭  (BITM

C#將資料儲存CSV檔案格式

/// 將資料以CSV格式儲存 /// ",表示移動到同一行的下一格" /// "\r\n"表示移動到下一列 /// </summary> /// <param name="sender"></pa

[Android] 一個將當前螢幕儲存圖片檔案的類(簡單說就是抓屏)

現在無論是應用,還是遊戲中,都經常會有分享的功能。分享,不僅要分享文字,也要分享應用或者遊戲的螢幕截圖,這樣才能做到圖文並茂,吸引到更多的使用者。想要做圖片的分享功能,首先就需要抓屏,將當前螢幕儲存為一個圖片檔案。下面就是一個將當前的Activity直接儲存為一個圖片檔案的類

[JAVAscript]將網頁儲存文字檔案的函式

<a href="#" onclick=document.execCommand("saveAs","ture","filename.txt")>儲存本頁</a>如果僅僅是document.execCommand("saveAs"),彈出按預設的另存為

TensorFlow 儲存模型 PB 檔案

通常我們使用 TensorFlow時儲存模型都使用 ckpt 格式的模型檔案,使用類似的語句來儲存模型 tf.train.Saver().save(sess,ckpt_file_path,max_to_keep=4,keep_checkpoint_ever

Dump Rtmp Stream To FLV File (從Rtmp流儲存FLV檔案

    一、準備工作   搭建本地rtmp服務:   https://www.cnblogs.com/doudouyoutang/p/6602430.html   獲取使用到的庫,openssl 和 librtmp   參考:   https://www.jianshu.co