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的新特性介绍
Oct 31 HTML / CSS
介绍CSS3使用技巧5个
Apr 02 HTML / CSS
CSS3点击按钮实现背景渐变动画效果
Oct 19 HTML / CSS
HTML5中5个简单实用的API
Apr 28 HTML / CSS
Html5实现用户注册自动校验功能实例代码
May 24 HTML / CSS
纯HTML5+CSS3制作生日蛋糕(代码易懂)
Nov 16 HTML / CSS
canvas 下载二维码和图片加水印的方法
Mar 21 HTML / CSS
canvas里面如何基于随机点绘制一个多边形的方法
Jun 13 HTML / CSS
video实现有声音自动播放的实现方法
May 20 HTML / CSS
HTML5 背景的显示区域实现
Jul 09 HTML / CSS
CSS3中Animation实现简单的手指点击动画的示例
Jul 15 HTML / CSS
html5实现点击弹出图片功能
Jul 16 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
PHP中函数内引用全局变量的方法
2008/10/20 PHP
phpExcel中文帮助手册之常用功能指南
2014/08/18 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
Javascript 获取滚动条位置等信息的函数
2009/09/08 Javascript
JavaScript的类型简单说明
2010/09/03 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
百度判断手机终端并自动跳转js代码及使用实例
2014/06/11 Javascript
javascript解析json实例详解
2014/11/05 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
javascript中sort()的用法实例分析
2015/01/30 Javascript
Javascript实现网络监测的方法
2015/07/31 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
javaScript中的原型解析【推荐】
2016/05/05 Javascript
对js eval()函数的一些见解
2016/08/15 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
2016/12/23 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
jQuery正则验证注册页面经典实例
2017/06/10 jQuery
JS表单传值和URL编码转换
2018/03/03 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
Python3.5迭代器与生成器用法实例分析
2019/04/30 Python
Python pandas自定义函数的使用方法示例
2019/11/20 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
SOA的常见陷阱或者误解是什么
2014/10/05 面试题
室内设计自我鉴定
2013/10/15 职场文书
航空大学应届生求职信
2013/11/10 职场文书
男方父母证婚词
2014/01/12 职场文书
商业活动邀请函
2014/02/04 职场文书
老人再婚离婚协议书范本
2014/10/27 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis
vue实现滑动解锁功能
2022/03/03 Vue.js