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实现带动画效果导航菜单无需js
Sep 27 HTML / CSS
使用CSS3在触屏上为按钮实现激活效果
Sep 27 HTML / CSS
使用CSS3中的calc()属性来以算式表达尺寸数值
Jun 06 HTML / CSS
详解CSS3+JS完美实现放大镜模式
Dec 03 HTML / CSS
websocket+sockjs+stompjs详解及实例代码
Nov 30 HTML / CSS
html5 标签
Jul 16 HTML / CSS
HTML5+CSS3绘制锯齿状的矩形
Mar 01 HTML / CSS
使用HTML5里的classList操作CSS类
Jun 28 HTML / CSS
h5实现获取用户地理定位的实例代码
Jul 17 HTML / CSS
详解html2canvas截图不能截取圆角图片的解决方案
Jan 30 HTML / CSS
canvas离屏技术与放大镜实现代码示例
Aug 31 HTML / CSS
前端使用canvas生成盲水印的加密解密的实现
Dec 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
espresso double下 咖啡粉超细时 饼压力对咖啡的影响
2021/03/03 冲泡冲煮
php Undefined index的问题
2009/06/01 PHP
PHP开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
解析thinkphp基本配置 convention.php
2013/06/18 PHP
php ci框架验证码实例分析
2013/06/26 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
2014/05/19 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
浅谈PHP中的
2016/04/23 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
php提高脚本性能的4个技巧
2020/08/18 PHP
ExtJS的FieldSet的column列布局
2009/11/20 Javascript
Javascript 入门基础学习
2010/03/10 Javascript
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
基于jQuery实现文本框缩放以及上下移动功能
2014/11/24 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
直接拿来用的15个jQuery代码片段
2015/09/23 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
JS和jQuery使用submit方法无法提交表单的原因分析及解决办法
2016/05/17 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
JavaScript和jQuery制作光棒效果
2017/02/24 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
2018/08/08 jQuery
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
vue+animation实现翻页动画
2020/06/29 Javascript
requests和lxml实现爬虫的方法
2017/06/11 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
Django 限制访问频率的思路详解
2019/12/24 Python
python利用线程实现多任务
2020/09/18 Python
生物技术毕业生自荐信
2013/10/23 职场文书
烹饪自我鉴定
2014/03/01 职场文书
《最佳路径》教学反思
2014/04/13 职场文书
法学专业毕业生自荐信
2014/06/11 职场文书
政法干警核心价值观心得体会
2014/09/11 职场文书
项目转让协议书
2014/10/27 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书