阴影效果
1. 前言
2. 什么是阴影?
3. canvas 设置阴影效果
先看一个案例:
<!DOCTYPE html>
<html>
<head>
<Meta charset="utf-8">
<title>网Wiki</title>
<style>
#imooc{
border:px solid #ccc;
}
</style>
</head>
<body>
<canvas id="imooc">您的浏览器不支持 HTML5 canvas 标签</canvas>
<script>
const canvas = document.getElementById('imooc');
canvas.width=
canvas.height=
const ctx = canvas.getContext('2d');
ctx.rect(,,,)
ctx.fillStyle = "#456795"
// 设置阴影效果
ctx.shadowOffsetX = ;
ctx.shadowOffsetY = ;
ctx.shadowColor = "#ccc";
ctx.shadowBlur = ;
ctx.fill();
</script>
<body>
</html>
-
设置水平偏移量,我们设置阴影向水平正方向偏移10像素,也就是向右偏移10像素,如果想要向左偏移,则设定为 -10 即可,默认偏移值为 0。
ctx.shadowOffsetX = 10;
-
设置垂直偏移量,我们设置阴影向垂直正方向偏移10像素,也就是向下偏移10像素,如果想要向上偏移,则设定值为 -10 即可,默认偏移值为 0。
ctx.shadowOffsetY = 10;
-
设置阴影的颜色,这里我们设置阴影的颜色为灰色。
ctx.shadowColor = "#ccc";
-
设置阴影的模糊程度,这里我们设置了4个像素的模糊程度。
ctx.shadowBlur = 4;
这里的模糊值会扩大原本阴影的大小。举例说明:当我们没有设置模糊程度时,阴影是一个 100 * 100 的灰色矩形,当我们设置模糊程度为 4 时,当前阴影就变成了一个 108 * 108 的灰色矩形。阴影的上、下、左、右都会向外扩充4个像素,这4个像素会以设定的阴影颜色从内向外渐变为透明。
运行结果:
注意事项
看一个案例:
<!DOCTYPE html>
<html>
<head>
<Meta charset="utf-8">
<title>网Wiki</title>
<style>
#imooc{
border:px solid #ccc;
}
</style>
</head>
<body>
<canvas id="imooc">您的浏览器不支持 HTML5 canvas 标签</canvas>
<script>
const canvas = document.getElementById('imooc');
canvas.width=
canvas.height=
const ctx = canvas.getContext('2d');
ctx.rect(,,,)
ctx.fillStyle = "#456795"
// 设置阴影效果
ctx.shadowOffsetX = ;
ctx.shadowOffsetY = ;
ctx.shadowColor = "#ccc";
ctx.shadowBlur = ;
ctx.fill();
// 恢复默认阴影效果
ctx.shadowOffsetX = ;
ctx.shadowOffsetY = ;
ctx.shadowBlur = ;
ctx.fillStyle="yellow"
ctx.fillRect(,, , )
</script>
运行结果:
4. 属性整理
本小节中我们使用到4个新的属性,它们分别是 shadowOffsetX
,shadowOffsetY
, shadowBlur
和 shadowColor
。
4.1 shadowOffsetX 属性
shadowOffsetX
属性作用是设置水平偏移量,可以为负数,负数值向左偏移。
变量说明:
4.2 shadowOffsetY 属性
shadowOffsetY
属性作用是设置垂直偏移量,可以为负数,负数值向上偏移。
变量说明:
4.3 shadowBlur 属性
shadowBlur
属性作用是设置阴影的模糊程度。
变量说明:
4.4 shadowColor 属性
shadowColor
属性作用是设置阴影颜色。
变量说明: