Canvas和Paint的常用方法
阿新 • • 發佈:2019-01-29
- 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路徑物件