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