決定Android應(yīng)用是否被用戶接受的一個重要的原因就是用戶界面,友好的用戶界面就需要使用到圖形圖像處理技術(shù),包括靜態(tài)圖片、動畫和游戲都需要大量的圖形圖像處理,所謂游戲,其實(shí)就是提供更逼真,能模擬某種環(huán)境的用戶界面,并根據(jù)某種規(guī)則響應(yīng)用戶的操作
簡單圖片
從最簡單的ImageView顯示圖片開始,圖片也可以應(yīng)用到Button,Windwo的背景
Drawable
Drawable是“所有可繪制東西”的一個抽象,大多數(shù)時候,我們只需要把不同的類型的資源作為轉(zhuǎn)化成drawable,然后View就會幫我們把它渲染到屏幕上
類似操作為:
button.setBackgroundColor(Color.WHITE);
button.setBackgroundResource(R.drawable.bk_normal);
Bitmap和BitmapFactory
Bitmap是一個位圖,BitmapDrawable所封裝的就是一個Bitmap對象,為了把Bitmap對象包裝成 BitmapDrawable對象,可以調(diào)用 BitmapDrawable的構(gòu)造器
BitmapDrawable drawale=new BitmapDrawable(bitmap)
如果需要獲取 BitmapDrawable所包裝的 Bitmap可以調(diào)用 BitmapDrawable的get Bitmap()方法
Bitmap bit drawable.getBitmap()
除此之外還有例如
createBitmap(Bitmap source,int x,int y,int width,int height)
creatScaledBitmap(Bitmap,src,int dstWidth,int dstHeight,boolean fillter)
BitFactory是一個工具類,提供了大量的方法,可以用于從不同的數(shù)據(jù)來解析,創(chuàng)建Bitmap
decodeByteArray()
decodeFile()
decodeFileDescriptor()
decodeResource()
大部分時候,我們把圖片放在src/drawable下,既可以直接通過該圖片對應(yīng)的資源ID去獲取封裝的Drawable對象,但是手機(jī)系統(tǒng)的內(nèi)存是比較小的,如果系統(tǒng)不停地去解析,創(chuàng)建而不回首,就會導(dǎo)致內(nèi)存泄漏等 問題
這時候就需要判斷是否已經(jīng)回收
Boolean isRecycled()
void recycle()