HTML5 利用canvas API 展示阴影效果

简介:

HTML5的Canvas自带API可以显示阴影效果,主要还是在画布(canvas)的上下文对象(context)上做文章

 
 
  1. <!DOCTYPE html> 
  2. <head> 
  3. <meta charset="UTF-8"> 
  4. <title>HTML5 Combine Shape DEMO</title> 
  5. <script type="text/javascript" src="js/drawShadow.js"></script> 
  6. </head> 
  7.  
  8. <body onload="draw('canvas')"></body> 
  9. <h2>canvas:显示阴影效果</h2> 
  10.  
  11.  
  12. <!-- 指定一个canvas元素用于显示结果 --> 
  13. <canvas id="canvas" width="400” height="400"/> 
  14. <br><br> 

画带阴影效果的图形见如下的js代码:

 
 
  1. /** 
  2.  *  This file is confidential by Charles.Wang 
  3.  *  Copyright belongs to Charles.wang 
  4.  *  You can make contact with Charles.Wang (charles_wang888@126.com) 
  5.  */ 
  6.   
  7.  function draw (id){ 
  8.      
  9.     //取得画布对象 
  10.     var canvas = document.getElementById(id); 
  11.     if(canvas ==null
  12.     return false
  13.     //取得上下文 
  14.     var context = canvas.getContext('2d'); 
  15.     //绘制底图 
  16.     context.fillStyle='#FFEEFF'
  17.     context.fillRect(0,0,400,400); 
  18.      
  19.     //以下4个属性是阴影的设置属性,用他们可以用来画阴影效果 
  20.      
  21.     //shadowOffSetX是横向位移量,所以这里设置为10表明阴影会出现在原图形右边,最多10像素 
  22.     context.shadowOffSetX=10; 
  23.     //shadowOffSetX是纵向位移量,所以这里设置为10表明阴影会出现在原图形下边,最多10像素 
  24.     context.shadowOffsetY=10; 
  25.     //阴影的颜色 
  26.     context.shadowColor="rgba(50,50,100,0.5)"
  27.     //阴影的模糊范围 
  28.     context.shadowBlur=7.5; 
  29.      
  30.     //所以到这里为止,我们吧上下文关联上了阴影效果,所有用这个context绘制的图形都会有(+10,+10)的阴影效果 
  31.      
  32.     //绘制五角星 
  33.     context.translate(50,50); 
  34.     create5star(context); 
  35.     context.fill(); 
  36.  } 
  37.   
  38.  function create5star(context){ 
  39.      
  40.      var n = 0; 
  41.      var dx=100; 
  42.      var dy=0; 
  43.      var s = 50; 
  44.      //创建路径 
  45.      context.beginPath(); 
  46.      context.fillStyle='rgba(255,0,0,0.5)'
  47.      var x = Math.sin(0); 
  48.      var y=Math.cos(0); 
  49.      var dig = Math.PI/5*4; 
  50.      //画5条边 
  51.      for(var i =0;i<5;i++){ 
  52.         var x = Math.sin(i * dig); 
  53.         var y = Math.cos(i* dig); 
  54.         context.lineTo(dx+x*s,dy+y*s); 
  55.      } 
  56.      context.closePath(); 
  57.  } 

 

最终展示效果如图:





本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/854126,如需转载请自行联系原作者

目录
相关文章
|
2月前
|
存储 JavaScript 前端开发
HTML API
HTML API
27 3
|
3天前
|
移动开发 前端开发 HTML5
HTML5 Canvas发光Loading源码
一款基于HTML5 Canvas的发光Loading加载HTML源码。Loading旋转图标是在canvas画布上绘制的,整个loading动画是发光3D的视觉效果
12 1
HTML5 Canvas发光Loading源码
|
4天前
|
移动开发 前端开发 HTML5
Canvas实现超酷Loading动画HTML代码
之前我们分享过很多基于CSS3的Loading动画效果,相信大家都很喜欢。今天我们要来分享一款基于HTML5 Canvas的发光Loading加载动画特效。Loading旋转图标是在canvas画布上绘制的,整个loading动画是发光3D的视觉效果,HTML5非常强大。
10 1
Canvas实现超酷Loading动画HTML代码
|
12天前
|
移动开发 API UED
【专栏:HTML进阶篇】HTML5拖放API与触摸事件
【4月更文挑战第30天】HTML5的拖放API和触摸事件增强了网页交互设计,使开发者能创建动态响应式界面。拖放API通过设定元素的`draggable`属性、监听拖动和放置事件以及处理`DataTransfer`对象实现。触摸事件如`touchstart`、`touchmove`、`touchend`则让触控设备操作更流畅。开发者需注意事件对象、多点触控处理和防止默认行为。结合两者,可创建图片排序、手势识别等交互功能,但也需面对浏览器兼容性和复杂逻辑挑战。利用HTML5这些工具,能提升用户体验,推动网页交互设计创新。
|
13天前
|
缓存 前端开发 搜索推荐
【Flutter前端技术开发专栏】Flutter中的自定义绘制与Canvas API
【4月更文挑战第30天】Flutter允许开发者通过`CustomPaint`和`CustomPainter`进行自定义绘制,以实现丰富视觉效果。`CustomPaint` widget将`CustomPainter`应用到画布,而`CustomPainter`需实现`paint`和`shouldRepaint`方法。`paint`用于绘制图形,如示例中创建的`MyCirclePainter`绘制蓝色圆圈。Canvas API提供绘制形状、路径、文本和图片等功能。注意性能优化,避免不必要的重绘和利用缓存提升效率。自定义绘制让Flutter UI更具灵活性和个性化,但也需要图形学知识和性能意识。
【Flutter前端技术开发专栏】Flutter中的自定义绘制与Canvas API
|
2月前
|
移动开发 前端开发 API
简述HTML5 Canvas的基本绘图API及其在游戏开发中的作用。
HTML5 Canvas 提供丰富的绘图API,用于在网页上绘制图形、动画和视觉效果,支持基本形状、文本、渐变、图像及像素操作。在游戏开发中,Canvas API用于绘制游戏元素、实现动画效果、进行物理碰撞检测,并具备跨平台兼容性,为创新游戏体验提供强有力的支持。
12 1
|
2月前
|
前端开发 JavaScript 容器
编程笔记 html5&css&js 032 HTML Canvas
编程笔记 html5&css&js 032 HTML Canvas
|
移动开发 前端开发 API
《HTML5 Canvas游戏开发实战》——3.4 小结
本节书摘来自华章计算机《HTML5 Canvas游戏开发实战》一书中的第3章,第3.4节,作者:张路斌著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
942 0
|
移动开发 JavaScript 前端开发
《HTML5 Canvas游戏开发实战》——3.3 自定义画板
本节书摘来自华章计算机《HTML5 Canvas游戏开发实战》一书中的第3章,第3.3节,作者:张路斌著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1296 0
|
移动开发 JavaScript 前端开发
《HTML5 Canvas游戏开发实战》——3.2 图形的渲染
本节书摘来自华章计算机《HTML5 Canvas游戏开发实战》一书中的第3章,第3.2节,作者:张路斌著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1203 0