<canvas></canvas>是HTML5中新增的標(biāo)簽,用于繪制圖形,這篇文章主要為大家詳細(xì)介紹了HTML5 canvas基本繪圖之繪制陰影方法,感興趣的小伙伴們可以參考一下
<canvas></canvas>是HTML5中新增的標(biāo)簽,用于繪制圖形,實(shí)際上,這個(gè)標(biāo)簽和其他的標(biāo)簽一樣,其特殊之處在于該標(biāo)簽可以獲取一個(gè)CanvasRenderingContext2D對(duì)象,我們可以通過JavaScript腳本來控制該對(duì)象進(jìn)行繪圖。
<canvas></canvas>只是一個(gè)繪制圖形的容器,除了id、class、style等屬性外,還有height和width屬性。在<canvas>>元素上繪圖主要有三步:
1.獲取<canvas>元素對(duì)應(yīng)的DOM對(duì)象,這是一個(gè)Canvas對(duì)象;
2.調(diào)用Canvas對(duì)象的getContext()方法,得到一個(gè)CanvasRenderingContext2D對(duì)象;
3.調(diào)用CanvasRenderingContext2D對(duì)象進(jìn)行繪圖。
陰影繪制:
-
shadowColor 設(shè)置或返回用于陰影的顏色。
-
shadowBlur 設(shè)置或返回用于陰影的模糊級(jí)別(數(shù)值越大越模糊)。
-
shadowOffsetX 設(shè)置或返回陰影與形狀的水平距離。
-
shadowOffsetY 設(shè)置或返回陰影與形狀的垂直距離。
我們?yōu)橹袄L制的五角星添加一下陰影
JavaScript Code復(fù)制內(nèi)容到剪貼板
-
var canvas = document.getElementById("canvas");
-
var context = canvas.getContext("2d");
-
context.beginPath();
-
//設(shè)置是個(gè)頂點(diǎn)的坐標(biāo),根據(jù)頂點(diǎn)制定路徑
-
for (var i = 0; i < 5; i++) {
-
context.lineTo(Math.cos((18+i*72)/180*Math.PI)*200+200,
-
-Math.sin((18+i*72)/180*Math.PI)*200+200);
-
context.lineTo(Math.cos((54+i*72)/180*Math.PI)*80+200,
-
-Math.sin((54+i*72)/180*Math.PI)*80+200);
-
}
-
context.closePath();
-
//設(shè)置邊框樣式以及填充顏色
-
context.lineWidth="3";
-
context.fillStyle = "#F6F152";
-
context.strokeStyle = "#F5270B";
-
context.shadowColor = "#F7F2B4";
-
context.shadowOffsetX = 30;
-
context.shadowOffsetY = 30;
-
context.shadowBlur = 2;
-
context.fill();
-
context.stroke();
效果如下: