摘要:舉個(gè)栗子繪制矩形上面代碼先取得對(duì)象上下文,接著繪制了一個(gè)填充矩形和邊框矩形,并清除了一個(gè)矩形區(qū)域。
在這之前
需要你懂得以下方法的使用:
beginPath()
moveTo()
lineTo()
closePath()
具體用法可以參考我的上一篇文章 canvas入門-利用canvas制作一個(gè)七巧板
矩形的繪制canvas提供了三種繪制矩形的方法:
fillRect(x, y, width, height)
繪制一個(gè)填充的矩形
strokeRect(x, y, width, height)
繪制一個(gè)矩形的邊框
clearRect(x, y, width, height)
清除制定矩形區(qū)域啊
上面方法的參數(shù)里 x 和 y 分別為相對(duì)于canvas原點(diǎn)的坐標(biāo),width 和 height 設(shè)置了矩形的尺寸。
舉個(gè)栗子:
window.onload = function(){ var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); canvas.width = 900; canvas.height = 600; //繪制矩形 ctx.fillRect(0,0,300,300); ctx.strokeRect(5,200,200,200); ctx.clearRect(0,0,100,100); };
上面代碼先取得canvas對(duì)象上下文,接著繪制了一個(gè)填充矩形和邊框矩形,并清除了一個(gè)矩形區(qū)域。
繪制五角星之前在這之前,需要分析五角星各個(gè)頂點(diǎn)的位置,以及弧度,由于數(shù)學(xué)水平有限,都怪當(dāng)初不好好學(xué) T.T
x:cos(18+i72)r //確定 x 坐標(biāo)值
y:-sin(54+i72)r //確定 y 坐標(biāo)值
角度化 num/180*Math.PI //js將數(shù)值角度化的轉(zhuǎn)換公式
400是圓的圓心點(diǎn),如果不加400,則圓心點(diǎn)為0,0
下面為繪制五角星的函數(shù),有五個(gè)參數(shù):ctx:繪圖環(huán)境,R:大圓半徑,x:x坐標(biāo)值, y:y坐標(biāo)值, rot:旋轉(zhuǎn)角度
function drawStar(ctx,R,x,y,rot){ ctx.beginPath(); for (var i = 0; i < 5; i++ ) { ctx.lineTo(Math.cos((18+i*72-rot)/180*Math.PI)*R + x,-Math.sin((18+i*72-rot)/180*Math.PI)*R + y); ctx.lineTo(Math.cos((54+i*72-rot)/180*Math.PI)*R/2.4 + x,-Math.sin((54+i*72-rot)/180*Math.PI)*R/2.4 + y); }; ctx.closePath(); ctx.fill(); }
下面貼上完整代碼:
canvas
最后效果為:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/86370.html
摘要:繪制一條從當(dāng)前位置到指定以及位置的直線。該方法有兩個(gè)參數(shù)以及,代表坐標(biāo)系中直線結(jié)束的點(diǎn)。一個(gè)路徑,甚至一個(gè)子路徑,都是閉合的。使用路徑繪制圖形需要一些額外的步驟。當(dāng)前瀏覽器不支持重繪最外層邊框一個(gè)簡(jiǎn)單的七巧板就出來(lái)啦 ?簡(jiǎn)介 是 HTML5 新增的元素之一,它允許腳本語(yǔ)言動(dòng)態(tài)渲染位圖像。最初是由 Apple 引入,用于 Mac OS X 的儀表盤,后來(lái)又在 Safiri 和 Goog...
閱讀 3228·2021-11-11 16:55
閱讀 2478·2021-10-13 09:39
閱讀 2410·2021-09-13 10:27
閱讀 2162·2019-08-30 15:55
閱讀 3086·2019-08-30 15:54
閱讀 3132·2019-08-29 16:34
閱讀 1827·2019-08-29 12:41
閱讀 1071·2019-08-29 11:33