成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

利用Android怎么繪制一個(gè)太極圖-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(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如下:

  •   setColor(); //設(shè)置畫筆的顏色
  •   setAntiAlias(); //設(shè)置畫筆的鋸齒效果
  •   setARGB(); //設(shè)置畫筆的A、R、G、B值
  •   setAlpha(); //設(shè)置畫筆的Alpha值
  •   setTextSize(); //設(shè)置字體的尺寸
  •   setStyle(); //設(shè)置畫筆的風(fēng)格(空心或?qū)嵭模?/li>
  •   setStrokeWidth(); //設(shè)置空心邊框的寬度
  •   getColor(); //獲取畫筆的顏色

接下來我將通過繪制太極圖來學(xué)習(xí)Android繪圖機(jī)制。

先看看太極圖:

利用Android怎么繪制一個(gè)太極圖                         

現(xiàn)在就要開始一步一步的將他畫出來, 我們可以借鑒圖層的概念。首先繪制最底部的圖層,為了方便我們將其左,右兩邊分別設(shè)置白色和黑色:

 利用Android怎么繪制一個(gè)太極圖          利用Android怎么繪制一個(gè)太極圖

圖中(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)

手機(jī)網(wǎng)站建設(shè)
和林格尔县| 揭西县| 高陵县| 获嘉县| 遂昌县| 乐山市| 吉木乃县| 泾源县| 大名县| 灵丘县| 高尔夫| 扎鲁特旗| 盐城市| 台南市| 九寨沟县| 汝城县| 东阳市| 韩城市| 敦化市| 新晃| 云安县| 仙居县| 青铜峡市| 通榆县| 邵阳县| 都兰县| 襄垣县| 漠河县| 崇仁县| 洛阳市| 辰溪县| 电白县| 云浮市| 安龙县| 揭东县| 邓州市| 拜泉县| 辽宁省| 慈溪市| 凤城市| 澄城县|