HTML5 利用canvas API 展示阴影效果
HTML5的Canvas自带API可以显示阴影效果,主要还是在画布(canvas)的上下文对象(context)上做文章
- <!DOCTYPE html>
- <head>
- <meta charset="UTF-8">
- <title>HTML5 Combine Shape DEMO</title>
- <script type="text/javascript" src="js/drawShadow.js"></script>
- </head>
- <body onload="draw('canvas')"></body>
- <h2>canvas:显示阴影效果</h2>
- <!-- 指定一个canvas元素用于显示结果 -->
- <canvas id="canvas" width="400” height="400"/>
- <br><br>
画带阴影效果的图形见如下的js代码:
- /**
- * This file is confidential by Charles.Wang
- * Copyright belongs to Charles.wang
- * You can make contact with Charles.Wang ([email protected])
- */
- function draw (id){
- //取得画布对象
- var canvas = document.getElementById(id);
- if(canvas ==null)
- return false;
- //取得上下文
- var context = canvas.getContext('2d');
- //绘制底图
- context.fillStyle='#FFEEFF';
- context.fillRect(0,0,400,400);
- //以下4个属性是阴影的设置属性,用他们可以用来画阴影效果
- //shadowOffSetX是横向位移量,所以这里设置为10表明阴影会出现在原图形右边,最多10像素
- context.shadowOffSetX=10;
- //shadowOffSetX是纵向位移量,所以这里设置为10表明阴影会出现在原图形下边,最多10像素
- context.shadowOffsetY=10;
- //阴影的颜色
- context.shadowColor="rgba(50,50,100,0.5)";
- //阴影的模糊范围
- context.shadowBlur=7.5;
- //所以到这里为止,我们吧上下文关联上了阴影效果,所有用这个context绘制的图形都会有(+10,+10)的阴影效果
- //绘制五角星
- context.translate(50,50);
- create5star(context);
- context.fill();
- }
- function create5star(context){
- var n = 0;
- var dx=100;
- var dy=0;
- var s = 50;
- //创建路径
- context.beginPath();
- context.fillStyle='rgba(255,0,0,0.5)';
- var x = Math.sin(0);
- var y=Math.cos(0);
- var dig = Math.PI/5*4;
- //画5条边
- for(var i =0;i<5;i++){
- var x = Math.sin(i * dig);
- var y = Math.cos(i* dig);
- context.lineTo(dx+x*s,dy+y*s);
- }
- context.closePath();
- }
最终展示效果如图:
相关推荐
nercon 2020-03-06
zsh 2020-03-01
wusiye 2020-10-23
表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。在HTML网页中,要想创建表格,就需要使用表格相关的标签。<table> <tr> <td>单元格内的文字</td> ...
gufudhn 2020-08-09
nercon 2020-08-01
swiftwwj 2020-07-21
nercon 2020-07-16
饮马天涯 2020-07-05
Lophole 2020-06-28
gufudhn 2020-06-12
csstpeixun 2020-06-11
huzijia 2020-06-09
WebVincent 2020-06-06
行吟阁 2020-05-30
qsdnet我想学编程 2020-05-26
gufudhn 2020-05-25
qsdnet我想学编程 2020-05-19
suixinsuoyu 2020-05-15