首页 web前端 H5教程 canvas如何设置阴影?canvas设置阴影的方法

canvas如何设置阴影?canvas设置阴影的方法

Sep 17, 2018 pm 01:43 PM
canvas 阴影

我们知道可以用css来实现阴影效果,但是html5中canvas也可以用来设置阴影效果,所以,接下来的这篇文章将给大家来介绍关于如何用canvas来设置阴影效果,话不多说,直接来看内容。

首先要知道在canvas中进行绘制时,不管是文本、图形、还是图像,也不管是描边还是填充,都可以通过设置上下文对象的相关属性,来为它们设置阴影。

canvas创建阴影效果需要使用以下四个属性:

shadowColor:阴影的颜色,其默认值为完全透明的黑色。因此,如果没有把该属性设置为不透明,则阴影是不可见的。该属性只能设置为一个表示颜色的字符串,不能使用渐变或图案。使用半透明的阴影可以产生很逼真的阴影效果,因为透过阴影还能看到背景。

shadowOffsetX:阴影在X轴的偏移量,单位为像素。默认值为0,阴影位于图形正下方,阴影是不可见的。大于0向右偏移,小于0向左偏移。阴影偏移量越大,产生的阴影也越大,同时会感觉绘制的图形在画布是浮得也越高。

shadowOffsetY:阴影在Y轴的偏移量,单位为像素。默认值为0,阴影位于图形正下方,阴影是不可见的。大于0向下偏移,小于0向上偏移。阴影偏移量越大,产生的阴影也越大,同时会感觉绘制的图形在画布是浮得也越高。

shadowBlur:阴影的模糊值。是一个与像素无关的值,被用于高斯模糊方程中,以便对阴影进行模糊化处理。默认值为0,表示产生一个清晰的阴影。该值越大,表示阴影越模糊。

说明:根据canvas规范,只有在满足以下两个条件时,浏览器才会绘制阴影:

1、指定了一个非全透明的shadowColor属性值;

2、shadowOffsetX、shadowOffsetY、shadowBlur三个属性中,至少有一个属性的值不是0。

下面我们就来看看canvas实现的阴影效果实例代码:

<!DOCTYPE html>
<html>
 <head>
    <meta charset="utf-8">
    <title>Canvas</title>
 </head>
 <style type="text/css">
    body{margin:20px auto; padding:0; width:800px; }
    canvas{border:dashed 2px #CCC}
 </style>
 <script type="text/javascript">
    function $$(id){
        return document.getElementById(id);
    }
    function pageLoad(){
        var can = $$('can');
        var cans = can.getContext('2d');
        cans.fillStyle = 'green';
        cans.shadowOffsetX = 5;
        cans.shadowOffsetY = 5;
        cans.shadowColor = '#333';
        cans.shadowBlur = 10;
        cans.fillRect(200,300,400,200);
    }
 </script>
<body onload="pageLoad();">
    <canvas id="can" width="800px" height="600px"></canvas>
</body>
</html>
登录后复制

canvas设置阴影效果如下:

2345截图20180917115048.png

本篇文章到这里就结束了,关于canvas元素的更多用法可以参考html5开发手册

以上是canvas如何设置阴影?canvas设置阴影的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

两个点博物馆:邦格荒地地点指南
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

两个点博物馆:邦格荒地地点指南
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

canvas哪些学校用 canvas哪些学校用 Aug 18, 2023 pm 05:59 PM

canvas哪些学校用

canvas箭头插件有哪些 canvas箭头插件有哪些 Aug 21, 2023 pm 02:14 PM

canvas箭头插件有哪些

canvas时钟有哪些细节 canvas时钟有哪些细节 Aug 21, 2023 pm 05:07 PM

canvas时钟有哪些细节

html2canvas对哪些样式无效 html2canvas对哪些样式无效 Nov 24, 2023 pm 03:25 PM

html2canvas对哪些样式无效

中国教育界中Canvas的发展态势和未来前景 中国教育界中Canvas的发展态势和未来前景 Jan 17, 2024 am 10:22 AM

中国教育界中Canvas的发展态势和未来前景

html2canvas有哪些版本 html2canvas有哪些版本 Aug 22, 2023 pm 05:58 PM

html2canvas有哪些版本

tkinter canvas有哪些属性 tkinter canvas有哪些属性 Aug 21, 2023 pm 05:46 PM

tkinter canvas有哪些属性

canvas鼠标坐标在哪里 canvas鼠标坐标在哪里 Aug 22, 2023 pm 03:08 PM

canvas鼠标坐标在哪里

See all articles