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实现波纹特效、H5实现动态波浪效果
Jan 31 HTML / CSS
CSS3的RGBA中关于整数和百分比值的转换
Aug 04 HTML / CSS
简单总结CSS3中视窗单位Viewport的常见用法
Feb 04 HTML / CSS
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
Oct 20 HTML / CSS
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
Jan 31 HTML / CSS
IE9对HTML5中部分属性不支持的原因分析
Oct 15 HTML / CSS
详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)
Dec 15 HTML / CSS
详解基于canvas的视频遮罩插件
Jan 04 HTML / CSS
记一次高分屏下canvas模糊问题
Feb 17 HTML / CSS
HTML+CSS实现导航条下拉菜单的示例代码
Aug 02 HTML / CSS
css 边框添加四个角的实现代码
Oct 16 HTML / CSS
CSS使用伪类控制边框长度的方法
Jan 18 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
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
一个比较简单的PHP 分页分组类
2009/12/10 PHP
PHP中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
PHP写日志的实现方法
2014/11/05 PHP
Laravel 5.0 发布 新版本特性详解
2015/02/10 PHP
Yii数据读取与跳转参数传递用法实例分析
2016/07/12 PHP
浅谈PHP命令执行php文件需要注意的问题
2016/12/16 PHP
PHP中OpenSSL加密问题整理
2017/12/14 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
基于JQuery的数字改变的动画效果--可用来做计数器
2010/08/11 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
用自定义图片代替原生checkbox实现全选,删除以及提交的方法
2016/10/18 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
详解vscode中vue代码颜色插件
2018/10/11 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
微信小程序图片右边加两行文字的代码
2020/04/23 Javascript
详解Python的Django框架中的Cookie相关处理
2015/07/22 Python
Python基础语法(Python基础知识点)
2016/02/28 Python
Python实现的文本编辑器功能示例
2017/06/30 Python
html5模拟平抛运动(模拟小球平抛运动过程)
2013/07/25 HTML / CSS
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
家长会学生家长演讲稿
2013/12/29 职场文书
先进个人获奖感言
2014/01/24 职场文书
美国探亲签证邀请信
2014/02/05 职场文书
集团公司党的群众路线教育实践活动工作总结
2014/03/03 职场文书
项目合作意向书范本
2014/04/01 职场文书
英语课前三分钟演讲稿(6篇)
2014/09/13 职场文书
工会经费申请报告
2015/05/15 职场文书
学校学期工作总结
2015/08/13 职场文书
详解PHP设计模式之依赖注入模式
2021/05/25 PHP
opencv 分类白天与夜景视频的方法
2021/06/05 Python
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL