Android繪圖三大基本類

Android繪圖三大基本類


Android繪圖的三個基本類:

  • Bitmap:相當(dāng)于我們繪制出來的圖像
  • Paint:相當(dāng)于我們繪圖所用的畫筆
  • Canvas:相當(dāng)于我們繪圖所用的畫布

1. Bitmap


玩轉(zhuǎn)Android 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():畫文本
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容