HTML5 canvas基本绘图之绘制阴影效果


Posted in HTML / CSS onJune 27, 2016

<canvas></canvas>是HTML5中新增的标签,用于绘制图形,实际上,这个标签和其他的标签一样,其特殊之处在于该标签可以获取一个CanvasRenderingContext2D对象,我们可以通过JavaScript脚本来控制该对象进行绘图。

<canvas></canvas>只是一个绘制图形的容器,除了id、class、style等属性外,还有height和width属性。在<canvas>>元素上绘图主要有三步:

1.获取<canvas>元素对应的DOM对象,这是一个Canvas对象;
2.调用Canvas对象的getContext()方法,得到一个CanvasRenderingContext2D对象;
3.调用CanvasRenderingContext2D对象进行绘图。

阴影绘制

  • shadowColor 设置或返回用于阴影的颜色。
  • shadowBlur 设置或返回用于阴影的模糊级别(数值越大越模糊)。
  • shadowOffsetX 设置或返回阴影与形状的水平距离。
  • shadowOffsetY 设置或返回阴影与形状的垂直距离。

我们为之前绘制的五角星添加一下阴影

JavaScript Code复制内容到剪贴板
  1. var canvas = document.getElementById("canvas");   
  2.    var context = canvas.getContext("2d");   
  3.    context.beginPath();   
  4.    //设置是个顶点的坐标,根据顶点制定路径   
  5.    for (var i = 0; i < 5; i++) {   
  6.        context.lineTo(Math.cos((18+i*72)/180*Math.PI)*200+200,   
  7.                        -Math.sin((18+i*72)/180*Math.PI)*200+200);   
  8.        context.lineTo(Math.cos((54+i*72)/180*Math.PI)*80+200,   
  9.                        -Math.sin((54+i*72)/180*Math.PI)*80+200);   
  10.    }   
  11.    context.closePath();   
  12.    //设置边框样式以及填充颜色   
  13.    context.lineWidth="3";   
  14.    context.fillStyle = "#F6F152";   
  15.    context.strokeStyle = "#F5270B";   
  16.    context.shadowColor = "#F7F2B4";   
  17.    context.shadowOffsetX = 30;   
  18.    context.shadowOffsetY = 30;   
  19.    context.shadowBlur = 2;   
  20.    context.fill();   
  21.    context.stroke();   

效果如下:

HTML5 canvas基本绘图之绘制阴影效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3 calc()会计算属性详解
Feb 27 HTML / CSS
25个CSS3动画按钮和菜单教程分享
Oct 03 HTML / CSS
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
Oct 10 HTML / CSS
css3的transition效果和transfor效果示例介绍
Oct 30 HTML / CSS
css3实现可拖动的魔方3d效果
May 07 HTML / CSS
CSS3颜色值RGBA与渐变色使用介绍
Mar 06 HTML / CSS
前端面试必备之html5的新特性
Sep 05 HTML / CSS
canvas学习笔记之2d画布基础的实现
Feb 21 HTML / CSS
HTML5是什么 HTML5是什么意思 HTML5简介
Oct 26 HTML / CSS
HTML5的一个显示电池状态的API简介
Jun 18 HTML / CSS
解析html5 canvas实现背景鼠标连线动态效果代码
Jun 17 HTML / CSS
CSS 文字装饰 text-decoration & text-emphasis 详解
Apr 06 HTML / CSS
涂鸦板简单实现 Html5编写属于自己的画画板
Jul 05 #HTML / CSS
深入剖析webstorage[html5的本地数据处理]
Jul 11 #HTML / CSS
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
Jul 13 #HTML / CSS
HTML5对手机页面长按会粘贴复制禁用的解决方法
Jul 19 #HTML / CSS
HTML5 Web 存储详解
Sep 16 #HTML / CSS
HTML5移动开发图片压缩上传功能
Nov 09 #HTML / CSS
纯HTML5+CSS3制作生日蛋糕代码
Nov 16 #HTML / CSS
You might like
比特率,大家看看这个就不用收音机音质去比MP3音质了
2021/03/01 无线电
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
phpstudy的php版本自由修改的方法
2017/10/18 PHP
JS控件autocomplete 0.11演示及下载 1月5日已更新
2007/01/09 Javascript
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
jquery checkbox,radio是否选中的判断代码
2010/03/20 Javascript
根据身份证号自动输出相关信息(籍贯,出身日期,性别)
2013/11/15 Javascript
js鼠标点击图片实现随机变换图片的方法
2015/02/16 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
vue+element实现表单校验功能
2019/05/20 Javascript
简单使用Python自动生成文章
2014/12/25 Python
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
python构建自定义回调函数详解
2017/06/20 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
python实现逆序输出一个数字的示例讲解
2018/06/25 Python
python协程之动态添加任务的方法
2019/02/19 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
python设置随机种子实例讲解
2019/09/12 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
基于DOM+CSS3实现OrgChart组织结构图插件
2016/03/02 HTML / CSS
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
毕业生精彩的自我评价分享
2013/10/06 职场文书
初中数学教学反思
2014/01/16 职场文书
《云雀的心愿》教学反思
2014/02/25 职场文书
2014年冬季防火方案
2014/05/21 职场文书
小兵张嘎观后感
2015/06/03 职场文书
幼儿园中班班级总结
2015/08/10 职场文书
nginx实现动静分离的方法示例
2021/11/07 Servers
Linux系统下MySQL配置主从分离的步骤
2022/03/21 MySQL
SqlServer常用函数及时间处理小结
2023/05/08 SQL Server