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实现背景颜色渐变让图片不再是唯一的实现方式
Dec 18 HTML / CSS
CSS3动画效果回调处理详解
Dec 10 HTML / CSS
6种非常炫酷的CSS3按钮边框动画特效
Mar 16 HTML / CSS
CSS3动画特效在活动页中的应用
Jan 21 HTML / CSS
CSS3新增布局之: flex详解
Jun 18 HTML / CSS
浅析HTML5中header标签的用法
Jun 24 HTML / CSS
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
Aug 28 HTML / CSS
吃透移动端 1px的具体用法
Dec 16 HTML / CSS
video.js支持m3u8格式直播的实现示例
May 20 HTML / CSS
HTML5+CSS设置浮动却没有动反而在中间且错行的问题
May 26 HTML / CSS
CSS3 制作的图片滚动效果
Apr 14 HTML / CSS
css样式important规则的正确使用方式
Jun 10 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
Terran兵种介绍
2020/03/14 星际争霸
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
老生常谈PHP位运算的用途
2017/03/12 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
2017/09/29 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
php引用和拷贝的区别知识点总结
2019/09/23 PHP
PHP实现文件上传与下载
2020/08/28 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
利用javascript实现一些常用软件的下载导航
2009/08/03 Javascript
通过jQuery源码学习javascript(三)
2012/12/27 Javascript
javascrip关于继承的小例子
2013/05/10 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
parentElement,srcElement的使用小结
2014/01/13 Javascript
原生js实现移动开发轮播图、相册滑动特效
2015/04/17 Javascript
详解angular2封装material2对话框组件
2017/03/03 Javascript
详解Angular4中路由Router类的跳转navigate
2017/06/09 Javascript
微信小程序--组件(swiper)详细介绍
2017/06/13 Javascript
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
python中mechanize库的简单使用示例
2014/01/10 Python
python数据结构之图的实现方法
2015/07/08 Python
Bottle框架中的装饰器类和描述符应用详解
2017/10/28 Python
python文件选择对话框的操作方法
2019/06/27 Python
Django模板之基本的 for 循环 和 List内容的显示方式
2020/03/31 Python
基于python实现计算两组数据P值
2020/07/10 Python
迪斯尼假期(欧洲、中东及非洲):Disney Holidays EMEA
2021/02/15 全球购物
国外的一些J2EE面试题一
2012/10/13 面试题
毕业生护理专业个人求职信范文
2014/01/04 职场文书
计算机系本科生求职信
2014/05/31 职场文书
校园绿化美化方案
2014/06/08 职场文书
安全标兵事迹材料
2014/08/17 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书
python - asyncio异步编程
2021/04/06 Python
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS