无码人妻丰满熟妇奶水区码,麻豆一区区三,亚洲日韩欧美精品综合,亚洲无码地址

前端教程:Canvas怎樣創(chuàng)建畫(huà)布和繪制圖形?(canvas創(chuàng)建新畫(huà)布)

HTML5提供了一種全新的畫(huà)布功能,即通過(guò)Canvas來(lái)讓用戶在網(wǎng)頁(yè)中繪制圖形、文字、圖片等。Canvas表示畫(huà)布,現(xiàn)實(shí)生活中的畫(huà)布是用來(lái)作畫(huà)的,HTML5中的Canvas與之類似,我們可以稱它為“網(wǎng)頁(yè)中的畫(huà)布”。默認(rèn)情況下,Canvas是一塊300px乘50px的矩形畫(huà)布,用戶可以自定義畫(huà)布的大小或?yàn)楫?huà)布添加其他屬性。

Canvas并不是通過(guò)鼠標(biāo)繪畫(huà)的,用戶需要通過(guò)Javascript來(lái)控制畫(huà)布中的內(nèi)容,例如添加圖片、線條、文字等。本節(jié)將講解如何使用Canvas繪制添加畫(huà)布和繪制線條。

使用HTML5中的<canvas>標(biāo)簽在網(wǎng)頁(yè)中創(chuàng)建一個(gè)畫(huà)布,語(yǔ)法格式如下:

<canvas id="cavsElem" width="400" height="300"> 您的瀏覽器不支持Canvas</canvas>

上述代碼定義了一個(gè)id為cavsElem的畫(huà)布,并設(shè)置了畫(huà)布的寬度為400 px,高度為300px。

為了在畫(huà)布中繪制圖形,首先要通過(guò)JavaScript的getElementByld()方法獲取網(wǎng)頁(yè)中的畫(huà)布對(duì)象,代碼如下:

var canvas=document.getElementById('cavsElem');

在上述代碼中,參數(shù)“2d”代表畫(huà)筆的種類,這里表示二維繪圖的畫(huà)筆。如果想要繪制三維圖,可以把參數(shù)替換為“webgl”,三維操作目前還沒(méi)有廣泛應(yīng)用,了解即可。

2d代表一個(gè)平面,繪制圖形時(shí)需要在平面上確定起始點(diǎn),也就是“從哪里開(kāi)始畫(huà)”,這個(gè)點(diǎn)需要通坐標(biāo)來(lái)控制。Canvas的坐標(biāo)軸從左上角“0,0”開(kāi)始。x軸向右增大,y軸向下增大,如圖所示。

前端教程:Canvas怎樣創(chuàng)建畫(huà)布和繪制圖形?(canvas創(chuàng)建新畫(huà)布)

繪制線條

線是所有復(fù)雜圖形的組成基礎(chǔ),想要繪制復(fù)雜的圖形,首先要從繪制線開(kāi)始。在繪制線之前首先要了解線的組成。一條最單的線由三部分組成,分別為初始位置、連線端點(diǎn)以及描邊,線的組成如圖所示。

前端教程:Canvas怎樣創(chuàng)建畫(huà)布和繪制圖形?(canvas創(chuàng)建新畫(huà)布)

在繪制圖形時(shí),首先需要確定從哪里下“筆”,這個(gè)下“筆”的位置就是初始位置。在畫(huà)布中使用moveTo(x,y)方法來(lái)定義初始位置,其中x和y表示水平坐標(biāo)軸和垂直坐標(biāo)軸的位置,中間用“,”隔開(kāi)。x和y的取值為數(shù)字,表示像素值(單位省略)。設(shè)置初始位置的示例代碼如下:

var context=canvas.getContext('2d');context.moveTo(x,y);

在畫(huà)布中使用line To(x,y)方法來(lái)定義連線端點(diǎn)。和初始位置類似,連線端點(diǎn)也需要定義x和y的坐標(biāo)位置。定義連線端點(diǎn)的代碼如下:

context.lineTo(x,y);

通過(guò)初始位置和連線端點(diǎn)可以繪制一條線,但這條線并不能被看到。這時(shí)我們需要為線添加描邊,讓線變得可見(jiàn)。使用畫(huà)布中的stroke0方法,可以實(shí)現(xiàn)線的可視效果。為線添加描邊的代碼如下:

context.stroke();

了解了繪制線的方法后,下面演示如何實(shí)現(xiàn)在畫(huà)布中通過(guò)線條繪制字母M。

創(chuàng)建C:codelchapter02demo12.html,首先創(chuàng)建畫(huà)布,然后繪制出字母M。具體代碼如下:

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>繪制字母M</title></head><body> <canvas id="cas" width="300" height="300"> 您的瀏覽器不支持Canvas</canvas><script> var context=document.getElementById('cas').getContext('2d'); context.moveTo(10,100); //定義初始位置 context.lineTo(30,10); //定義連線端點(diǎn) context.lineTo(50,100); //定義連線端點(diǎn) context.lineTo(70,10); //定義連線端點(diǎn) context.lineTo(90,100); //定義連線端點(diǎn) context.stroke(); //描邊</script></body></html>

上述代碼中,第8~10行代碼創(chuàng)建了一個(gè)寬300px高300px的畫(huà)布:第13~18行代碼通過(guò)定義初始位置、定義連線端點(diǎn)和描邊繪制了字母M。

(2)保存代碼,在瀏覽器中訪問(wèn)demol2.html,頁(yè)面效果如圖所示。

前端教程:Canvas怎樣創(chuàng)建畫(huà)布和繪制圖形?(canvas創(chuàng)建新畫(huà)布)

繪制字母M

圖中顯示了繪制的字母M,說(shuō)明成功通過(guò)Canvas完成了線條的繪制。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2024年5月13日 下午2:13
下一篇 2024年5月13日 下午2:25

相關(guān)推薦

久久久久久黄片免费| 精品小黄片| 亚洲天天干欧美粗暴| 欧韩一区三区视频| 欧美黑人少妇日韩| 午夜三级av| 亚洲人妻中出| 日韩欧美久久精品在线| 三级片久久久久久久久久久久久| 成人欧美XXX一区二区三区| 插入少妇嫩穴视频网站| 中文成人精品久久久不卡| 亚洲人妻成人网站| 射国产丝袜熟女TS| 色日韩欧美| 成人开心网| 欧美夫妻性生活免费视频| 欧美日韩午夜激情爽视频在线观看| 一区二区有码欧| 欧美久久青青草| 98久久久久久| 男女逼逼内射福利| 精品人妻免费一区二区在线| 日韩我们一区二区三区| 国产啊v福利精品| 亚洲电影午夜| 日B网免费看| 无码又又| 亚州女人被巨大进入| 不卡的在线免费AV| 台湾佬中文娱乐网站更新| 中文无码免费久久| 2020无码毛片在线观看| 国产熟女七区| 美国骚妇视频| 激情另类亚洲日韩欧洲| 久久精品人妻一区| 国产精品综合久久久久蜜臀精品综合| 黄色影院一| 男人AV天堂网| 日本女生和男生色色的网站|