Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 高級開發 >> Android Picture和PictureDrawable的用處

Android Picture和PictureDrawable的用處

編輯:高級開發

android系統中圖形類為我們提供了很多圖形對象類,很多網友知道Drawable,了解Bitmap之類的,那麼今天的Picture和PictureDrawable又是什麼東西呢? Android123再次給大家說下,Picture在android.graphics.Picture包中,相對於Drawable和Bitmap而言,Picture對象就小巧的多,它並不存儲實際的像素,僅僅記錄了每個繪制的過程。整個類提供了兩個重載形式,其中比較特別的是Picture(Picture src) 從一個Picture對象去實例化操作,

Canvas beginRecording(int width, int height) //開始記錄繪制過程

static Picture createFromStream(InputStream stream) //靜態方法,從輸入流創建一個Pictrue對象

void draw(Canvas canvas) //在canvas上畫這個picture對象

void endRecording() //結束錄制繪制過程

int getHeight()
int getWidth()

void writeToStream(OutputStream stream) //將繪制結果寫到輸出流中

我們可以看到整個類中方法不多,但主要的beginRecording和endRecording記錄開始和結束,最終通過draw方法繪制到畫布上去,而createFromStream和writeToStream可以幫助我們從流中讀寫這個Picture對象,我們可以將整個繪制過程通過FileInputStream或FileOutputStream放到文件中去。

PictureDrawable是什麼呢? 這裡Android123提示大家它位於android.graphics.drawable.PictureDrawable 是從Drawable類繼承而來的,它的構造方法只有一個就是從Picture對象中實例化,PictureDrawable(Picture picture)

void draw(Canvas canvas) // 繪制到Canvas

int getIntrinsicHeight()
int getIntrinsicWidth()

int getOpacity() //獲取透明度級別

Picture getPicture() //從PictureDrawable轉為Picture

void setAlpha(int alpha) //設置透明級別

void setColorFilter(ColorFilter colorFilter)

void setDither(boolean dither)

void setFilterBitmap(boolean filter)

void setPicture(Picture picture)

下面我們就一個簡單的例子,來看看它們的具體工作原理:

Picture p=new Picture();

Canvas c=p.beginRecording(320,480);

//// c.drawBitmap() ,drawLine等方法處理

p.endRecording();

PictureDrawable pd=new PictureDrawable(p);

pd.draw(canvaeObj) ;

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved