android畫圖之canvas

Canvas(): 創建一個空的畫布,可以使用setBitmap()方法來設置繪製具體的畫布。
Canvas(Bitmap bitmap): 以bitmap對象創建一個畫布,則將內容都繪製在bitmap上,因此bitmap不得爲null。
Canvas(GL gl): 在繪製3D效果時使用,與OpenGL相關。
drawColor: 設置Canvas的背景顏色。
setBitmap: 設置具體畫布。
clipRect: 設置顯示區域,即設置裁剪區。
isOpaque:檢測是否支持透明。
rotate: 旋轉畫布
setViewport: 設置畫布中顯示窗口。
skew: 設置偏移量。
/* 線鎖定畫布 */
canvas.save();
/* 解除畫布的鎖定 */
canvas.restore();
canvas.drawRect(new Rect(150, 75, 260, 120), mPaint);
/* 設置取消鋸齒效果 */
mPaint.setAntiAlias(true);

Canvas類主要實現了屏幕的繪製過程,其中包含了很多實用的方法,比如繪製一條路徑、區域、貼圖、畫點、畫線、渲染文本,
下面是Canvas類常用的方法,當然很多方法有不同的重載版本,參數更靈活。

void drawRect(RectF rect, Paint paint) //繪製區域,參數一爲RectF一個區域

drawRect的說明

void drawPath(Path path, Paint paint) //繪製一個路徑,參數一爲Path路徑對象
//貼圖,參數一就是我們常規的Bitmap對象,參數二是源區域(Android123提示這裏是bitmap),
參數三是目標區域(應該在 canvas的位置和大小),參數四是Paint畫刷對象,
因爲用到了縮放和拉伸的可能,當原始Rect不等於目標Rect時性能將會有大幅損失。
void drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)
//畫線,參數一起始點的x軸位置,參數二起始點的y軸位置,參數三終點的x軸水平位置,
參數四y軸垂直位置,最後一個參數爲Paint畫刷對象。
void drawLine(float startX, float startY, float stopX, float stopY, Paint 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路徑對象


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章