Android繪圖三大基本類
Android繪圖的三個基本類:
-
Bitmap
:相當于我們繪制出來的圖像 -
Paint
:相當于我們繪圖所用的畫筆 -
Canvas
:相當于我們繪圖所用的畫布
1. Bitmap
2. Paint
Paint擁有繪制幾何,文本,位圖的風格與顏色信息。
1. 新建一個Paint對象
Paint有三個構造方法,我們可以通過這三個構造方法創建Paint對象:
-
Paint()
:用默認設置創建一個Paint對象 -
Paint(int flags)
:用特殊標記創建一個Paint對象 -
Paint(Paint paint)
:用指定Paint對象的參數初始化一個新的Paint對象
2. 常用方法
-
setARGB(int a, int r, int g, int b)
:設置畫筆顏色 -
setAntiAlias(boolean aa)
:設置是否抗鋸齒 -
setColor(int color)
:設置畫筆顏色 -
setAlpha(int a)
:設置畫筆透明度 -
setTextSize(float textSize)
:設置字體大小 -
setUnderlineText(boolean underlineText)
:設置文本帶有下劃線效果 -
setStrikeThruText(boolean strikeThruText)
:設置文本帶刪除線效果 -
setTextSkewX(float skewX)
:設置文本傾斜度 -
setTextScaleX(float scaleX)
:設置文本縮放大小 -
setTextAlign(Paint.Align align)
:設置文本對齊方式 -
setTypeface(Typeface typeface)
:設置字體 -
setStyle(Paint.Style style)
:設置畫筆樣式,畫筆樣式有三種-
Paint.Style.FILL
:默認值,用這種風格繪制的幾何圖與文本將被填充,它畫出來的是實心圖 -
Paint.Style.STROKE
:用這種風格繪制的幾何圖與文本將被畫出外邊框,它畫出來的是空心圖 -
Paint.Style.FILL_AND_STROKE
:用這種風格繪制的幾何圖與文本將被填充并被畫出外邊框,從表面看它畫出來的也是實心圖,不過比一般畫出來的實心圖多了一層外邊框
-
-
setStrokeWidth(float width)
:設置畫筆外邊框的寬度,可以想象成畫筆“畫出線條的寬度” -
setXfermode(Xfermode xfermode)
:設置圖像重疊時的處理方式 -
setShader(Shader shader)
:設置著色器 -
setPathEffect(PathEffect effect)
:設置或者清除路徑效果
3. Canvas
Canvas擁有“繪制”調用,可以調用方法進行圖像繪制。
畫圖時需要四個基本元素:
- 擁有像素的Bitmap
- 可以進行繪制調用的Canvas
- 圖元(比如:Rect, Path, text, Bitmap)
- 描述風格與顏色的Paint
1. 新建一個Canvas對象
Canvas有兩個構造方法,我們可以通過這兩個構造方法創建Canvas對象:
-
Canvas()
:創建一個空的Canvas對象 -
Canvas(Bitmap bitmap)
:用指定的位圖構造一個Canvas對象
2. 常用方法
-
drawARGB()
:用指定ARGB顏色填充畫布上面的位圖 -
drawRGB()
:用指定RGB顏色填充畫布上面的位圖 -
drawColor()
:用指定顏色填充畫布上面的位圖 -
drawArc()
:畫圓弧 -
drawBitmap()
:畫位圖 -
drawCircle()
:畫圓 -
drawLine()
:畫直線 -
drawLines()
:畫折線 -
drawOval()
:畫橢圓 -
drawRect()
:畫矩形 -
drawRoundRect()
:畫圓角矩形 -
drawPoint()
:畫點 -
drawPoints()
:畫一組點 -
drawPath()
:畫路徑 -
drawText()
:畫文本