android中bitmap和bitmapdrawable有什麼不同

2022-02-26 09:44:08 字數 1969 閱讀 3191

1樓:

bitmapdrawable 是對bitmap封裝了。。。只是bitmapdrawable是已經讀入的資源的bitmap了

2樓:匿名使用者

bitmap繼承parcelable,是一個可以跨程序傳輸的物件,bitmapdrawable繼承drawable,可drawable只是一個抽象類,此類是一個存放資料流的載體。

1.使用情況:如果想繫結imageview之類的控制元件,兩者都可以用,而想要將**資料轉換成其它物件,bitmap功能更強大,而bitmapdrawable只是一個流的載體,所以一般獲取src資原始檔的時候用得多,而想要把資源**截入到bitmap需要轉換後才可得到bitmap物件。

2.bitmapdrawable就是封裝了一個點陣圖。直接以檔案的方式,就是封裝了一個原始的點陣圖。以xml方式,可以對原始的點陣圖進行一系列的處理,比如說抗鋸齒,拉伸,對齊等等。

3.要了解bitmapdrawable的使用,還需要明白bitmap、bitmapfactory等類。bitmap代表了一個原始的點陣圖,並且可以對點陣圖進行一系列的變換操作。

bitmapfactory提供一系列的方法用於產生一個bitmap物件。多用在canvas中。

android bitmap 與 drawable之間的區別和轉換

android bitmap 與 drawable之間的區別和轉換

android bitmap 與 drawable之間的區別和轉換

3樓:小傻

android bitmap和drawable的區別和轉換如下:

1.bitmap 轉換 drawable

bitmap bitmap = new bitmap(...); drawable drawable = new bitmapdrawable(bitmap);

//drawable drawable = new fastbitmapdrawable(bitmap);

2.drawable to bitmap

bitmapdrawable, fastbitmapdrawable直接用getbitmap

b. 其他型別的drawable用canvas畫到一個bitmap上

canvas canvas = new canvas(bitmap)

drawable.draw(canvas);

drawable d = imageslist.get(0); bitmap bitmap =  ((bitmapdrawable)d).getbitmap();

區別如下:

1.bitmap - 稱作點陣圖,一般點陣圖的檔案格式字尾為bmp,當然編碼器也有很多如rgb565、rgb888。作為一種逐畫素的顯示物件執行效率高,但是缺點也很明視訊記憶體儲效率低。

2.drawable - 作為android平下通用的圖形物件,它可以裝載常用格式的影象,比如gif、png、jpg,當然也支援bmp,當然還提供一些高階的視覺化物件,比如漸變、圖形等。

另外還有如下相類似的格式:

canvas - 名為畫布,可以看作是一種處理過程,使用各種方法來管理bitmap、gl或者path路徑,同時它可以配合matrix矩陣類給影象做旋轉、縮放等操作,同時canvas類還提供了裁剪、選取等操作。

paint - 可以把它看做一個畫圖工具,比如畫筆、畫刷。管理了每個畫圖工具的字型、顏色、樣式。

4樓:顛覆沫兒

bitmap 是點陣圖,在android中可以理解為 畫素點組成的陣列,drawable是一個指向id。

下面是drawable轉bitmap

public static bitmap drawabletobitmap(drawable drawable)

下面是bitmap轉drawable

drawable drawable =new bitmapdrawable(bmp);

android中include和merge標記的區別和使用

1.使用標籤來重用layout 如果在一個專案中需要用到相同的佈局設計,可以通過標籤來重用layout 該標籤在android開發文件中沒有相關的介紹。在android主屏程式中 用到了這個標籤 2.使用標籤來減少檢視層級結構 android layout檔案中需要一個頂級容器來容納其他的元件,而不...

android版本和android核心的版本是一回事嗎

不是一回事 android核心的版本指的是底層使用的linux版本,android版本指的是google提供的sdk的版本。通常情況下會有對應關係,但在實際中可能會有所偏差。從2009年5月開始,android作業系統改用甜點來作為版本代號,這些版本按照大寫字母的順序來進行命名 紙杯蛋糕 cupca...

Android中的顯式Intent和隱式Intent有什麼區別

區別如下 顯式啟動activity指的是在intent內部直接宣告要啟動的activity所對應的class。隱式啟動activity的intent到底發給哪個activity,需要進行三個匹配,一個是action,一個是category,一個是data,可以是全部或部分匹配,同樣適用於servic...