日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Bitmap是什么

Bitmap的基本思想就是用一個bit位來標記某個元素對應的Value,而Key即是該元素。由于采用了Bit為單位來存儲數據,因此在存儲空間方面,可以大大節省。

Bitmap 是位圖信息的存儲,即?個矩形圖像每個像素的顏?信息的存儲器。

Android從基礎底層到架構成長的全套筆記,有需要完整版的朋友,可留言【Android】領取!

Drawable是什么

Drawable是一種可以在Canvas上進行繪制的抽象的概念,顏色、圖片等都可以是一個Drawable。Drawable可以通過XML定義,或者通過代碼創建。Android中Drawable是一個抽象類,每個具體的Drawable都是其子類。簡單來講,其可以理解為:圖像。

Drawable 內部存儲的是繪制規則,這個規則可以是?個具體的 Bitmap,也可以是?個純粹的顏?,甚?可以是?個抽象的、靈活的描述。Drawable 可以不含有具體的像素信息,只要它含有的信息?以在 draw(Canvas) ?法被調?時進?繪制就夠了。由于 Drawable 存儲的只是繪制規則,因此在它的 draw() ?法被調?前,需要先調? Drawable.setBounds() 來為它設置繪制邊界。

Drawable的優點:

  • 使用簡單,比自定義View成本低
  • 非圖片類的drawable所占空間小,能減小apk大小

Bitmap和Drawable的相互轉換

    //drawable convert bitmap    public static Bitmap drawableToBitmap(Drawable drawable) {        Bitmap bitmap = null;        if (drawable instanceof BitmapDrawable) {            BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;            if (bitmapDrawable.getBitmap() != null) {                return bitmapDrawable.getBitmap();            }        }        if ((drawable.getIntrinsicWidth() <= 0) || (drawable.getIntrinsicHeight() <= 0)) {            bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);        }        else {            bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);        }        Canvas canvas = new Canvas(bitmap);        drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());        drawable.draw(canvas);        return bitmap;    }    //bitmap convert drawable    public static Drawable bitmapToDrawable(Context context, Bitmap bitmap) {        return new BitmapDrawable(context.getResources(), bitmap);    }

事實上,由于 Bitmap 和 Drawable 是兩個不同的概念,因此確切地說它們并不是互相「轉換」,?是從其中?個獲得另?個的對象:

  • Bitmap -> Drawable:創建?個 BitmapDrawable。
  • Drawable -> Bitmap:如果是 BitmapDrawable,使?BitmapDrawable.getBitmap() 直接獲取;如果不是,創建?個 Bitmap和?個 Canvas,使? Drawable 通過 Canvas 把內容繪制到 Bitmap 中。

作者:Arrom
轉載平臺:掘金
鏈接:
https://juejin.cn/post/7126798240573292558

分享到:
標簽:Bitmap
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定