這篇文章將為大家詳細(xì)講解有關(guān)利用Android怎么繪制一個(gè)太極圖,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識(shí)有一定的了解。
成都創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供成都網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、成都微信小程序、公眾號(hào)商城、等建站開發(fā),成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。Android是通過graphics類來顯示2D圖形的。其中g(shù)raphics中包括了Canvas、Paint、Color、Bitmap等類。graphics具有繪制點(diǎn)、線、顏色、2D幾何圖形、圖像處理等功能。其中Color和Bitmap是很常用的類,本文主要要講的是Canvas和Paint。顧名思義就是畫布和畫筆。
Canvas類
Canvas即畫布,我們需要做的就是使用之前設(shè)置好的Paint來繪制圖形。系統(tǒng)通過 Canvas 為我們提供了一些基礎(chǔ)的繪圖 API :
1、canvas.drawPoint(float x, float y, @NonNull Paint paint);
作用:繪制點(diǎn)。
參數(shù):繪制點(diǎn)的 x 坐標(biāo),y 坐標(biāo),畫筆參數(shù)
2、canvas.drawLine(float startX, float startY, float stopX, float stopY, @NonNull Paint paint);
作用:繪制線。
參數(shù):起點(diǎn)的 x 坐標(biāo),起點(diǎn) y 坐標(biāo),終點(diǎn) x 坐標(biāo),終點(diǎn) y 坐標(biāo),畫筆
3、canvas.drawRect(@NonNull RectF rect, @NonNull Paint paint);
作用:繪制矩形。
參數(shù):矩形參數(shù),畫筆參數(shù)
矩形參數(shù)構(gòu)造方法:如下代碼,分別為矩形的上下左右的坐標(biāo)
public RectF(float left, float top, float right, float bottom) {}
4、canvas.drawVertices();
作用:繪制多邊形。
參數(shù):
5、canvas.drawArc(float left, float top, float right, float bottom, float startAngle, float sweepAngle, boolean useCenter, @NonNull Paint paint);
作用:繪制弧線。
參數(shù):左端,上端,右端,底部,開始的角度,掃過的角度,圓弧的兩段是否與圓心連線,畫筆參數(shù)
6、canvas.drawCircle(float cx, float cy, float radius, @NonNull Paint paint);
作用:繪制圓。
參數(shù):圓心 x 坐標(biāo),圓心 y 坐標(biāo),半徑,畫筆參數(shù)
7、canvas.drawText();
作用:繪制文字
參數(shù):文字左下角 x 坐標(biāo),文字左下角 y 坐標(biāo),
8、canvas.drawOval(float left, float top, float right, float bottom, @NonNull Paint paint);
作用:繪制橢圓
參數(shù):左端,上端,右端,下端,畫筆參數(shù)
9、canvas.drawRoundRect(float left, float top, float right, float bottom, float rx, float ry,@NonNull Paint paint);
作用:繪制圓角矩形
參數(shù):左端,上端,右端,下端,x軸上的圓角半徑,y 軸上的圓角半徑,畫筆參數(shù)
系統(tǒng)畫筆工具所提供的 API :
1、mPaint.setAntiAlias();
設(shè)置反鋸齒
參數(shù):true,false
2、mPaint.setColor();
設(shè)置畫筆顏色
參數(shù):顏色值
3、mPaint.setARGB();
設(shè)置畫筆的 A,R,G,B
參數(shù):A,R,G,B
4、mPaint.setAlpha();
設(shè)置畫筆的透明度
參數(shù):取值范圍在 0 - 255 之間
5、mPaint.setTextSize();
設(shè)置畫筆文字的大小
參數(shù):必須大于 0
6、mPaint.setStyle();
設(shè)置畫筆的風(fēng)格(填充和描邊)
參數(shù):Paint.Style.FILL(填充),Paint.Style.STROKE(描邊),Paint.Style.FILL_AND_STROKE(填充和描邊)
7、mPaint.setStrokeWidth();
設(shè)置畫筆描邊時(shí)的寬度
參數(shù):浮點(diǎn)型
Paint類
和日常繪圖一樣,要繪制圖形,首先得選擇合適的畫筆。那么同理android中繪圖首先得調(diào)整畫筆,按照自己的需要設(shè)置畫筆的相關(guān)屬性,系統(tǒng)給我提供的常用API如下:
接下來我將通過繪制太極圖來學(xué)習(xí)Android繪圖機(jī)制。
先看看太極圖:
現(xiàn)在就要開始一步一步的將他畫出來, 我們可以借鑒圖層的概念。首先繪制最底部的圖層,為了方便我們將其左,右兩邊分別設(shè)置白色和黑色:
圖中(x,y)是圓心坐標(biāo)。這里我設(shè)置的x=getWidth() / 2;y=getHeight() / 2;半徑r=getHeight() / 2;
現(xiàn)在我們就來看看代碼,在定義View的OnDraw(Canvas canvas)
方法中:
//繪制最外層大圓 mPaint.setColor(Color.BLACK);//設(shè)置畫筆顏色為黑色 mPaint.setStyle(Paint.Style.FILL_AND_STROKE);//設(shè)置畫筆style實(shí)心 RectF rect= new RectF(getWidth() / 2 - getHeight() / 2, 0, getWidth() / 2 + getHeight() / 2, getHeight());//圓弧的外接矩形 canvas.drawArc(rect, 270, 180, false, mPaint); mPaint.setColor(Color.WHITE);//設(shè)置畫筆顏色為白色 canvas.drawArc(rect, 90, 180, false, mPaint);
網(wǎng)站標(biāo)題:利用Android怎么繪制一個(gè)太極圖-創(chuàng)新互聯(lián)
文章地址:http://jinyejixie.com/article42/isehc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、小程序開發(fā)、ChatGPT、品牌網(wǎng)站設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容