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