摘要:設(shè)置繪制字符串的垂直對(duì)齊方式,該屬性支持等屬性值。調(diào)用的方法關(guān)閉子路徑。與前一個(gè)方法相比,只是定義弧的方式不同。把的當(dāng)前路徑從當(dāng)前結(jié)束點(diǎn)連接到對(duì)應(yīng)的點(diǎn)。向添加一段二次曲線。
1.使用canvas元素
在HTML頁(yè)面上定義
height:該屬性設(shè)置該畫布組件高度
width:該屬性設(shè)置該畫布組件寬度
在HTML網(wǎng)頁(yè)上定義
獲取
調(diào)用Canvas對(duì)象的getContent()方法,該方法返回一個(gè)CanvasRenderingContext2D對(duì)象,該對(duì)象即可繪制圖形。
調(diào)用CanvasRendingContext2D對(duì)象的方法繪圖。
2.繪制幾何圖形canvas 畫圖入門
3.繪制字符串rect 繪制圖形
CanvasRenderingContext2D為繪制文字提供了如下兩個(gè)方法:
fillText(String text,float x,float y,[float maxWidth]):填充字符串
stroke(String text,float x,float y,[float maxWidth]):繪制字符串邊框
為了設(shè)置繪制字符串時(shí)所用的字體、字體對(duì)齊方式,CanvasRenderingContext2D還提供了如下兩個(gè)屬性:
textAlign:該屬性支持start、end、left、right、center等屬性值。
textBaseAlign:設(shè)置繪制字符串的垂直對(duì)齊方式,該屬性支持top、hanging、middle、alphabetic、idecgraphic、bottom等屬性值。
4. 設(shè)置陰影繪制文字 繪制文字
CanvasRenderingContext2D為設(shè)置圖形陰影提供了如下屬性:
shadowBlur:設(shè)置陰影的模糊度。該屬性值是一個(gè)浮點(diǎn)數(shù),該數(shù)值越大。陰影的模糊程度就越大。
shadowColor:設(shè)置陰影的顏色。
shadowOffsetX:設(shè)置陰影在X方向的偏移。
shadowOffsetY:設(shè)置陰影在Y方向的偏移。
5.使用路徑啟用陰影 啟用陰影
CanvasRenderingContext2D并沒有直接提供繪制圖形、橢圓等幾何圖形的方法。為了在Canvas上繪制更復(fù)雜的圖形,必須在Canvas上啟用路徑,借助于路徑來(lái)繪制圖形。
在Canvas上使用路徑,可按如下步驟進(jìn)行:
調(diào)用CanvasRenderingContext2D對(duì)象的beginPath()方法開始定義路徑。
調(diào)用CanvasRenderingContext2D各種方法添加子路徑。
調(diào)用CanvasRenderingContext2D的closePath()方法關(guān)閉子路徑。
調(diào)用CanvasRenderingContext2D的fill()或stroke()方法來(lái)填充路徑或繪制路徑邊框。
CanvasRenderingContext2D對(duì)象提供了如下方法來(lái)添加子路徑:
arc(float x,float y,float radius,float startAngle,endAngle,boolean counterclockwise):向Canvas的當(dāng)前路徑上添加一段弧。繪制以x、y為圓心,radius為半徑,從startAngle角度開始,到endAngle角度結(jié)束的圓弧。startAngle、endAngle以弧度為單位。該方法的前兩個(gè)參數(shù)指定圓弧的圓心,第三個(gè)參數(shù)用于設(shè)置圓弧的半徑,第四、五個(gè)參數(shù)則用于設(shè)置圓弧的開始角度、結(jié)束角度,最后一個(gè)角度用于設(shè)置是否順時(shí)針旋轉(zhuǎn)。
arcTo(float x1,float y1,float x2,float y2,float radius):向Canvas的當(dāng)前路徑上添加一段弧。與前一個(gè)方法相比,只是定義弧的方式不同。該方法也是繪制一段圓弧,確定這段圓弧的方式是:假設(shè)從當(dāng)前點(diǎn)到 P1(x1,y1)繪制一條線條,再?gòu)?em>P1(x1,y1)到P2(x2,y2) 繪制一條線條,arcTo()則繪制一段同時(shí)與上面兩條線條相切,且半徑為radius的圓弧。
bezierCurveTo(float cpX1,float cpY1,float cpX2,float cpY2,float x,float y):向Canvas的當(dāng)前路徑上添加一段貝濟(jì)埃曲線。
lineTo(float x,float y):把Canvas的當(dāng)前路徑從當(dāng)前結(jié)束點(diǎn)連接到x、y對(duì)應(yīng)的點(diǎn)。
moveTo(float x,float y):把Canvas的當(dāng)前路徑的結(jié)束點(diǎn)移動(dòng)到x、y對(duì)應(yīng)的點(diǎn)。
quadraticCurveTo(float cpX,float cpY,float x,float y):向Canvas添加一段二次曲線。
rect(float x,float y,float width,float height):向Canvas的當(dāng)前路徑添加一個(gè)矩形。
繪制圓形 繪制圓形
使用arcTo()方法繪制一個(gè)圓角矩形。
arcTo示例 arcTo 示意
其中moveTo(x,y)和`lineToo(x,y),前者是把繪制點(diǎn)移動(dòng)到指定點(diǎn),而后者則負(fù)責(zé)繪制從當(dāng)前點(diǎn)到指定點(diǎn)(x,y)的線條。
6.繪制圖形lineTo示例 lineTo示例
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/50050.html
摘要:學(xué)習(xí)資源來(lái)自慕課網(wǎng)炫麗的倒計(jì)時(shí)效果繪圖與動(dòng)畫基礎(chǔ),非常感謝老師的課程分享創(chuàng)建標(biāo)簽的標(biāo)簽定義了一塊畫布,我們所有的繪圖都是基于這一塊畫布。正是因?yàn)槭腔跔顟B(tài)的,所以不同的狀態(tài)應(yīng)該有明確的起始標(biāo)志。 喜歡前端,學(xué)習(xí)前端的最原始的動(dòng)機(jī),就是因?yàn)樗梢灾谱鞣浅?犰诺男Ч?。然而現(xiàn)在上班所用的技巧,多是在業(yè)務(wù)邏輯那一塊,并非是我最初想要去做的東西。所以在下班以后,打算重新拾起自己的興趣,去學(xué)習(xí)真正...
摘要:若要在上繪圖,首先得獲取渲染上下文。此處指的,不談示例的屬性通過(guò)設(shè)置上下文的屬性,可以指定繪圖的樣式。 一. Canvas是啥 < canvas > 是一個(gè)可以使用腳本(通常是js)來(lái)繪圖的HTML元素 < canvas > 最早由Apple引入WebKit,用于Mac OS X 的 Dashboard和 Safari 如今,所有主流的瀏覽器都支持它(IE9+,更低版本需引入Expl...
摘要:使用將能夠利用硬件加速?gòu)亩岣咪秩拘阅?。這個(gè)渲染器比渲染器有更好的性能。聲明構(gòu)造器是一個(gè)可選對(duì)象,包含用來(lái)定義渲染器行為的屬性。所用的渲染上下文對(duì)象。設(shè)置背景色和背景色透明度渲染器渲染器不使用來(lái)繪制場(chǎng)景,而使用相對(duì)較慢的。 渲染器api WebGL渲染器(WebGLRenderer) WebGL渲染器使用WebGL來(lái)繪制您的場(chǎng)景,如果您的設(shè)備支持的話。使用WebGL將能夠利用GPU硬...
閱讀 1362·2021-09-24 10:26
閱讀 3678·2021-09-06 15:02
閱讀 632·2019-08-30 14:18
閱讀 588·2019-08-30 12:44
閱讀 3129·2019-08-30 10:48
閱讀 1953·2019-08-29 13:09
閱讀 2006·2019-08-29 11:30
閱讀 2292·2019-08-26 13:36