1. 程式人生 > >Canvas和Paint的常用方法

Canvas和Paint的常用方法

  • Canvas()//建立一個空的畫布,可使用setBitmap()方法來設定繪製具體的畫布
  • Canvas(Bitmap bitmap)//以bitmap物件建立一個畫布,則將內容畫在bitmap上,因此bitmap不能為null
  • Canvas(GL gl)///在繪製3D效果時使用與OpenGL相關
  • translate(float dx ,float dy)//移動原點,預設在左上角
  • rotate(float degree)//旋轉指定角度的畫布
  • rotate(float degrees,float px,float py)//以px,py,為中心對canvas逆時針旋轉degrees度
  • skew(float sx,float sy)//設定傾斜的值
  • scale(float sx,float sy)//縮放,增減圖形在canvas中的畫素數目,對形狀、點陣圖進行縮小或者放大
  • scale(float sx,float sy,float px,float py)//sx表示橫軸縮放大小,sy為數軸縮放大小,px表示設定原點的位置(與rotate中的px正好相反,正數是向左移動),py表示設定原點的位置(與rotate中的px正好相反,正數是向上移動)
  • drawColor(int color)//設定canvas的背景顏色
  • setBitmap           //設定具體畫布
  • clipRect               //設定顯示區域,即設定裁剪區
  • isOpaque            //檢測是否支援透明
  • void drawRect(RectF rect, Paint paint) //繪製區域 ,引數一為RectF一個區域
  • void drawPath(Path path, Paint paint) //繪製一個路徑,引數一為Path路徑物件
  • void  drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)  //貼圖,引數一就是我們常規的Bitmap物件,引數二是源區域(這裡是bitmap),引數三是目標區域(應該在 canvas的位置和大小),引數四是Paint畫刷物件,因為用到了縮放和拉伸的可能,當原始Rect不等於目標Rect時效能將會有大幅損失。
  • void  drawLine(float startX, float startY, float stopX, float stopY, Paint paint)  //畫線,引數一起始點的x軸位置,引數二起始點的y軸位置,引數三終點的x軸水平位置,引數四y軸垂直位置,最後一個引數為Paint畫刷物件。
  • void  drawPoint(float x, float y, Paint paint) //畫點,引數一水平x軸,引數二垂直y軸,第三個引數為Paint物件。
  • void drawText(String text, float x, float y, Paint paint)  //渲染文字,Canvas類除了上面的還可以描繪文字,引數一是String型別的文字,引數二x軸,引數三y軸,引數四是Paint物件。
  • void  drawTextOnPath(String text, Path path, float hOffset, float vOffset, Paint paint) //在路徑上繪製文字,相對於上面第二個引數是Path路徑物件