function init(){
buildSpinner({ x : 50, y : 50, size : 20, degrees : 15 });
}
function buildSpinner(data) {
var canvas = document.createElement('canvas');
canvas.height = 100;
canvas.width = 300;
document.getElementsByTagName('div')[0].appendChild(canvas);
var ctx = canvas.getContext("2d"),
i = 0, degrees = data.degrees, loops = 0, degreesList = [];
for (i = 0; i < degrees; i++) {
degreesList.push(i);
}
// reset
i = 0;
// so I can kill it later
window.canvasTimer = setInterval(draw, 5000/degrees);
function reset() {
ctx.clearRect(0,0,100,100); // clear canvas
var left = degreesList.slice(0, 1);
var right = degreesList.slice(1, degreesList.length);
degreesList = right.concat(left);
}
function draw() {
var c, s, e;
var d = 0;
if (i == 0) {
reset();
}
ctx.save();
d = degreesList[i];
c = Math.floor(255/degrees*i);
ctx.strokeStyle = 'rgb(' + c + ', ' + c + ', ' + c + ')';
ctx.lineWidth = data.size ;
ctx.beginPath();
s = Math.floor(360/degrees*(d));
e = Math.floor(360/degrees*(d+1)) - 1;
ctx.arc(data.x, data.y, data.size, (Math.PI/180)*s, (Math.PI/180)*e, false);
ctx.stroke();
ctx.restore();
i++;
if (i >= degrees) {
i = 0;
}
}
}
分享到:
相关推荐
在这个压缩包`canvas-special-master`中,可能包含了各种各样的Canvas应用示例,涵盖了基础到高级的各种功能。 首先,Canvas是HTML5的一个组成部分,通过JavaScript API提供了一种在浏览器中绘制矢量图形的方法。它...
这项技术在网页应用中广泛用于实现用户自定义截图、网页保存为图片等功能。本文将深入探讨html2canvas的工作原理、使用方法以及常见问题。 ### 一、工作原理 html2canvas通过读取DOM结构,将其渲染到一个虚拟的...
"canvas 基本demo"是一个利用AntV G6库实现的Canvas应用示例,它展示了如何在React环境中使用Canvas进行图形交互和自定义设计。 首先,AntV G6是一款强大的图形图表库,它专为数据可视化设计,支持多种图表类型,如...
"canvas-collection合集"是一个汇集了各种Canvas应用示例和教程的资源包,旨在帮助开发者深入理解和掌握Canvas的使用技巧。在这个合集中,我们可以找到丰富的案例,涵盖了从基础绘图到复杂动画的各种场景。 一、...
这个“HTML5 Canvas绘图示例.rar”压缩包包含了一个具体的应用实例,教你如何利用Canvas API来画直线、图形以及进行各种图形操作。 首先,Canvas API的核心是`<canvas>`元素,它提供了一个二维渲染上下文,通过...
在"Html5_canvas_demos"中,你可能会找到以下一些常见的Canvas应用示例: 1. **基本绘图**:包括绘制直线、曲线、圆形、矩形等基础图形。例如,`beginPath()`开始一个新的路径,`moveTo()`和`lineTo()`用于绘制线条...
在这个"canvas-示例"中,我们将深入探讨canvas元素的基本用法、绘图方法以及与JavaScript的结合。 1. **canvas元素的基本结构** HTML5的canvas元素是一个空容器,你需要通过JavaScript来填充内容。一个基本的...
这个"html5基于canvas实现的小人跳舞动画特效源码.zip"是一个典型的HTML5 Canvas应用示例,它通过编程实现了小人跳舞的动态效果。 Canvas是一个二维绘图上下文,可以理解为一个画布,开发者可以通过JavaScript代码...
在实际应用中,使用HTML2Canvas时可能会遇到一些常见问题,如图像失真。这通常是由于以下几个原因造成的: 1. **CSS样式问题**:HTML2Canvas依赖于浏览器的CSS渲染来生成Canvas图像,因此任何影响CSS布局或图形显示...
这本书《Html5 Canvas开发详解》第二版提供了详细的示例代码,帮助学习者深入理解Canvas的用法和技巧。我们将逐一探讨每个章节的可能涵盖的知识点。 1. **第一章**: 基础入门 这一章通常会介绍Canvas的基本概念,...
HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,创造出丰富的交互式...这些实例是学习Canvas的最佳实践,它们将帮助你在实际项目中灵活运用这些技术,创建出引人入胜的Web应用和游戏。
基于Canvas的前端图片压缩广泛应用于移动应用、社交媒体平台、在线图片编辑工具以及任何需要上传图片的场景。它可以有效地减小图片大小,提高页面加载速度,同时降低服务器存储和传输成本。 七、优化与注意事项 1. ...
打开此文件,我们可以看到一个实际运行的电子签名应用,用户可以通过鼠标在Canvas上绘制、擦除和保存签名。通过查看和分析源代码,我们可以学习到更多关于HTML5 Canvas和电子签名实现的细节。 总之,HTML5 Canvas为...
在实际应用中,可能还会遇到其他问题,如浏览器兼容性、性能优化等,需要开发者根据具体需求和环境进行细致的调试和优化。通过熟练掌握canvas截屏技术,我们可以为用户提供更丰富、更个性化的交互体验。
此外,还将提供示例代码,帮助读者更好地理解和应用Canvas。 #### 创建Canvas元素 创建Canvas元素非常直观,只需在HTML文档中插入`<canvas>`标签,并为其指定宽度和高度属性。例如: ```html <canvas id=...
将俄罗斯方块游戏的实现原理和代码结合,可以为有HTML5和JavaScript基础的开发者提供一种实践项目的方式,帮助他们理解和掌握canvas在游戏开发中的应用。这个示例项目不仅能够帮助开发者熟悉canvas绘图API,还能加深...
在"canvas_3Ddiqiu"这个文件中,很可能包含了一个使用Canvas或WebGL实现的3D地球旋转动画示例。这可能涉及到地球模型的建模,如使用多边形表示地球表面,应用纹理映射显示地图,以及编写代码来控制地球的自转和公转...
总的来说,通过学习这些HTML5 Canvas的示例和API,以及HTML5的新特性,开发者可以更好地利用现代Web技术来创建引人入胜的交互式网页应用。无论你是初学者还是有一定经验的开发者,这些资源都会对你的技能提升...
- 工具:可能提到了一些辅助开发的工具或库,如绘图工具、性能分析器等,帮助优化Canvas应用。 总的来说,这篇博客应该是为初学者提供了一个逐步学习HTML5 Canvas的教程,通过实例讲解了Canvas的基本操作和应用,...
将Node.js与Canvas结合,我们可以实现服务器端的图像处理和生成,这对于构建Web应用,特别是需要处理图像服务的应用来说,是一种强大的技术组合。 首先,要使用Node.js中的Canvas,我们需要安装`canvas`这个npm模块...