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 中实现炫酷的loading效果
Apr 26 HTML / CSS
CSS3常用的几种颜色渐变模式总结
Nov 18 HTML / CSS
css3加js做一个简单的3D行星运转效果实例代码
Jan 18 HTML / CSS
css3 transform导致子元素固定定位变成绝对定位的方法
Mar 06 HTML / CSS
HTML5 贪吃蛇游戏实现思路及源代码
Sep 03 HTML / CSS
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
Apr 14 HTML / CSS
a标签下载链接的简单实现
Sep 13 HTML / CSS
html5唤起app的方法
Nov 30 HTML / CSS
基于canvas的骨骼动画的示例代码
Jun 12 HTML / CSS
HTML5单选框、复选框、下拉菜单、文本域的实现代码
Dec 01 HTML / CSS
HTML基础详解(下)
Oct 16 HTML / CSS
纯 CSS 自定义多行省略的问题(从原理到实现)
Nov 11 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
大师制作的中短波矿石收音机
2020/04/02 无线电
下载文件的点击数回填
2006/10/09 PHP
[原创]PHP字符串中插入子字符串方法总结
2016/05/06 PHP
图文详解PHP环境搭建教程
2016/07/16 PHP
php中foreach结合curl实现多线程的方法分析
2016/09/22 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
DOM精简教程
2006/10/03 Javascript
js设置控件的隐藏与显示的两种方法
2014/08/21 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
angularjs2 ng2 密码隐藏显示的实例代码
2017/08/01 Javascript
vue中手机号,邮箱正则验证以及60s发送验证码的实例
2018/03/16 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
微信小程序实现页面分享onShareAppMessage
2019/08/12 Javascript
VUE中使用HTTP库Axios方法详解
2020/02/05 Javascript
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
python logging类库使用例子
2014/11/22 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
2016/09/18 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
Python3内置模块之json编解码方法小结【推荐】
2020/12/09 Python
Python遍历字典方式就实例详解
2019/12/28 Python
python如何操作mysql
2020/08/17 Python
CSS3的一个简单导航栏实现
2015/08/03 HTML / CSS
JMS中Topic和Queue有什么区别
2013/05/15 面试题
商场消防管理制度
2014/01/12 职场文书
自考生自我评价分享
2014/01/18 职场文书
50岁生日感言
2014/01/23 职场文书
药店主任岗位责任制
2014/02/10 职场文书
学习雷锋做美德少年寄语大全
2014/04/09 职场文书
市场营销调查计划书
2014/05/02 职场文书
售后服务承诺书怎么写
2014/05/21 职场文书
教您:房贷工资收入证明应该怎么写?
2019/08/19 职场文书
Golang 入门 之url 包
2022/05/04 Golang
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers