菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

HTML Canvas 阴影


HTML Canvas 阴影

要在 canvas 中创建阴影,我们使用以下四个属性

  • shadowColor - 定义阴影的颜色
  • shadowBlur - 定义阴影的模糊量
  • shadowOffsetX - 定义阴影水平偏移的距离
  • shadowOffsetY - 定义阴影垂直偏移的距离

shadowColor 属性

shadowColor 属性定义阴影的颜色。

默认值为完全透明的黑色。

示例

这里我们创建了一个带有浅蓝色阴影的填充蓝色矩形,以及一个带有浅蓝色阴影的描边蓝色矩形

您的浏览器不支持 HTML5 canvas 标签。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

// 阴影
ctx.shadowColor = "lightblue";
ctx.shadowOffsetX = 10;
ctx.shadowOffsetY = 10;

// 填充矩形
ctx.fillStyle = "blue";
ctx.fillRect(20, 20, 100, 100);

// 描边矩形
ctx.lineWidth = 4;
ctx.strokeStyle = "blue";
ctx.strokeRect(170, 20, 100, 100);
</script>
自己动手试一试 »

示例

这里我们创建了一个带有浅蓝色阴影的填充紫色文本,以及一个带有浅蓝色阴影的描边紫色文本

您的浏览器不支持 HTML5 canvas 标签。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

// 阴影
ctx.shadowColor = "lightblue";
ctx.shadowOffsetX = 5;
ctx.shadowOffsetY = 5;

ctx.font = "50px Arial";

// 填充文本
ctx.fillStyle = "purple";
ctx.fillText("Hello World",10,60);

// 描边文本
ctx.strokeStyle = "purple";
ctx.strokeText("Hello World",10,120);
</script>
自己动手试一试 »


shadowBlur 属性

shadowBlur 属性定义应用于阴影的模糊量。

默认值为 0(无模糊)。

示例

shadowBlur 属性设置为 8 的填充和描边矩形

您的浏览器不支持 HTML5 canvas 标签。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

// 阴影
ctx.shadowColor = "lightblue";
ctx.shadowBlur = 8;
ctx.shadowOffsetX = 10;
ctx.shadowOffsetY = 10;

// 填充矩形
ctx.fillStyle = "blue";
ctx.fillRect(20, 20, 100, 100);

// 描边矩形
ctx.lineWidth = 4;
ctx.strokeStyle = "blue";
ctx.strokeRect(170, 20, 100, 100);
</script>
自己动手试一试 »

示例

shadowBlur 属性设置为 4 的填充和描边文本

您的浏览器不支持 HTML5 canvas 标签。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

// 阴影
ctx.shadowColor = "lightblue";
ctx.shadowBlur = 4;
ctx.shadowOffsetX = 5;
ctx.shadowOffsetY = 5;

ctx.font = "50px Arial";

// 填充文本
ctx.fillStyle = "purple";
ctx.fillText("Hello World",10,60);

// 描边文本
ctx.strokeStyle = "purple";
ctx.strokeText("Hello World",10,120);
</script>
自己动手试一试 »

shadowOffsetX 属性

shadowOffsetX 属性定义阴影与形状的水平距离。

正值将阴影向右移动,负值将阴影向左移动。

默认值为 0(无水平偏移距离)。

示例

第一个矩形的 shadowOffsetX = 5,第二个矩形的 shadowOffsetX = 15,第三个矩形的 shadowOffsetX = -10

您的浏览器不支持 HTML5 canvas 标签。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

// 阴影颜色
ctx.shadowColor = "lightblue";

ctx.fillStyle = "blue";

// 矩形 1
ctx.shadowOffsetX = 5;
ctx.fillRect(20, 20, 100, 100);

// 矩形 2
ctx.shadowOffsetX = 15;
ctx.fillRect(170, 20, 100, 100);

// 矩形 3
ctx.shadowOffsetX = -10;
ctx.fillRect(320, 20, 100, 100);
</script>
自己动手试一试 »

shadowOffsetY 属性

shadowOffsetY 属性定义阴影与形状的垂直距离。

正值将阴影向下移动,负值将阴影向上移动。

默认值为 0(无垂直偏移距离)。

示例

第一个矩形的 shadowOffsetY = 5,第二个矩形的 shadowOffsetY = 15,第三个矩形的 shadowOffsetY = -10

您的浏览器不支持 HTML5 canvas 标签。
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");

// 阴影颜色
ctx.shadowColor = "lightblue";

ctx.fillStyle = "blue";

// 矩形 1
ctx.shadowOffsetY = 5;
ctx.fillRect(20, 20, 100, 100);

// 矩形 2
ctx.shadowOffsetY = 15;
ctx.fillRect(170, 20, 100, 100);

// 矩形 3
ctx.shadowOffsetY = -10;
ctx.fillRect(320, 20, 100, 100);
</script>
自己动手试一试 »

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持