Android2D繪圖基礎
Android中的2D繪圖機制,在Android中繪制任何圖形都需要在Canvas上進行,而要使用Canvas就必須使用View.onDraw()方法完成繪制工作,因此需要我們編寫一個繼承自View的類,并覆蓋onDraw()方法。下面來詳細介紹Android中繪圖的基礎內容。
一、點
drawPoint(float x,float y,Paint paint)方法用于在指定點繪制一個點
drawPoints(float [] pts,int offset,int count,Paint paint)方法用于從pts中的第offest個位置起選取count個元素作為多個點的坐標,因此count為偶數,當count為基數時,將忽略最后一個元素。
drawPoints(float [] pts,Paint paint)方法是drawPoints()的重載方法,所有坐標都將參與繪制過程。
二、直線
drawLine(float startx,float starty,loat stopx,float stopy,Paint paint)方法用于在點(startx,starty)和點(stopx,stopy)之間繪制一條直線
drawLines(float [] pts,int offset,int count,Paint paint)方法定義類似于drawPoints()方法
drawLines(float [] pts,Paint paint)方法定義類似于drawPoints()方法
三、矩形
drawRect(float x1,float y1,float x2,float y2,Paint paint)方法用于繪制左上角頂點為(x1,y1),右下角頂點為(x2,y2)的矩形
drawRect(Rect rect,Paint paint)用于繪制一個指定的矩形
四、多邊形
drawVertices(VertexMode mode,int count,float[] pts,0,null,0,null,0,null,0,0,Paint paint)方法用于繪制一個多邊形,其中count為坐標的個數,等于pts的大小。理論上此方法可以繪制矩形,實際上此方法的本質是繪制無數個三角形。具體的參數大家可以自行查閱官方API文檔。
五、弧線
drawArc(Rect rect,float startAngle,float sweepAngle,bool useCenter,Paint paint)方法用于在矩形rect內部(此矩形并不會繪制)繪制一個起始角度為startAngle,結束角度為sweepAngle的弧,useCenter將決定這段弧是否會顯示起點與終點的連線。當sweepAngle-startAngle〉=360時,繪制效果是一個橢圓。
六、圓
drawCircle(float cx,float cy,float r,Paint paint)方法將繪制一個以(cx,cy)為圓心,r為半徑的圓。
七、文字
drawText(String s, float x, float y, Paint paint)方法將在(x,y)處繪制字符串s.
八、位圖
drawBitmap(Bitmap bitmap,float left,float top,Paint paint)
drawBitmap(Bitmap bitmap,Rect src,Rect dst,Paint paint)
九、Paint
Paint是筆刷類,主要用于設置繪圖相關的屬性。主要方法:
setColor()方法用于設定筆刷顏色
setStrokeWidth()方法用于設定筆刷寬度
setStyle()方法用于設定筆刷的樣式
暫時就介紹到這里吧,更多的方法大家可以自己去了解,下面給出我的示例代碼,供大家參考:
1、繼承自View的DrawView