`
小娘子_别跑啊
  • 浏览: 5333 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

canvas绘制渐变图案

阅读更多
就是有点晃眼!
随机截取图片三张.如下:




代码:
<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="js/jquery-3.1.0.min.js" type="text/javascript" charset="utf-8"></script>
		<style type="text/css">
			#btn {
				position: relative;
			}
			
			table {
				text-align: center;
				border-collapse: collapse;
				border: solid 2px;
			}
			
			button {
				width: 495px;
				font-size: 15px;
			}
		</style>
	</head>
	<center>

		<body>
			<table border="" cellspacing="" cellpadding="">
				<tr>
					<th><canvas id="cav" width="500" height="500"></canvas></th>
				</tr>
				<tr>
					<td>
						<div id="">
							<button id="btn_start" onclick="">开始</button>
						</div>
					</td>
				</tr>
				<tr>
					<td>
						<div id="">
							<button id="btn_stop" onclick="">暂停</button>
						</div>
					</td>
				</tr>
			</table>

		</body>
	</center>
	<script type="text/javascript">
		var cav = document.getElementById("cav");
		var context = cav.getContext("2d");
		var cavsize = 500;
		var num = 0.1;	//间距;
		var addnum = 0.0005;	//每次间距增加量;
		var posit = 2;	//
		var numup = true;	//是否处于间距增加阶段;
		var time = 100;	//定时器定时;
		var inter;
		document.getElementById("btn_start").onclick = function() {
			clearInterval(inter);
			inter = setInterval("draw()", time);
		}

		$("#btn_stop").click(function() {
			clearInterval(inter);
		})

		function draw() {
			context.beginPath();
			//间距扩大;
			if(numup && num < 2) {
				num = num + addnum;
				//从中心往外作图;
				for(var r = 0; r < cavsize / 2; r = r + num) {
					context.arc(cavsize / 2, cavsize / 2, r, posit * r * Math.PI, (posit * r + num) * Math.PI);
				}
				redraw();
				//设置边界,用于反复,不会停下;
				if(num >= 2) {
					numup = false;
					randomchange();
				}
			} 
			//间距缩小;
			else if(!numup && num > 0) {
				num = num - addnum;
				for(var r = 0; r < cavsize / 2; r = r + num) {
					context.arc(cavsize / 2, cavsize / 2, r, posit * r * Math.PI, (posit * r + num) * Math.PI);
				}
				redraw();
				if(num <= 0.1) {
					numup = true;
					num = Math.random() * 0.8 + 0.1;
					randomchange();
				}
			}
		}
		
		//清空重画;
		function redraw() {
			context.clearRect(0, 0, cavsize, cavsize);
			context.stroke();
		}
		
		//随机增加量,调节计时器时间间隔;
		function randomchange() {
			addnum = Math.random() * 0.002 + 0.0005;
			time = 100 * addnum * 1000;
		}
	</script>

</html>
  • 大小: 336.4 KB
  • 大小: 436.8 KB
  • 大小: 343.2 KB
1
0
分享到:
评论

相关推荐

    JavaScript+html5 canvas绘制渐变区域完整实例

    首先,要绘制渐变效果,我们需要一个canvas元素。在HTML5中,&lt;canvas&gt;标签被用来定义一个画布,JavaScript可以用来在上面绘制图形。通过在HTML文件中添加&lt;canvas&gt;标签,并设置适当的宽度和高度属性,我们就可以创建...

    html5 canvas绘制沙丁鱼群动画特效

    为了增加真实感,我们可以调整线条的宽度和颜色,以及添加渐变或图案填充。 接下来,实现动画效果的关键在于更新和重绘每一帧。我们可以定义一个函数,该函数会不断地改变沙丁鱼的位置、方向和速度,模拟它们游动的...

    js+html5实现canvas绘制椭圆形图案的方法.docx

    "js+html5实现canvas绘制椭圆形图案的方法" 本文主要介绍了使用 js+html5 实现 canvas 绘制椭圆形图案的方法,涉及 html5 图形绘制的基础技巧。下面是实现椭圆形图案的详细步骤: 1. 首先,需要创建两个 canvas ...

    html5 Canvas绘制2D背景2

    在“html5 Canvas绘制2D背景2”这个主题中,我们将深入探讨如何利用Canvas API来绘制复杂的2D背景。Canvas API提供了多种方法来绘制和操作图形,包括直线、曲线、圆形、矩形、文本以及图像等。以下是一些关键知识点...

    html 5 Canvas绘制2D背景1

    在这个“HTML 5 Canvas绘制2D背景1”的主题中,我们将深入探讨如何使用Canvas API来创建吸引人的背景图案。 首先,让我们了解一下HTML5 Canvas的基本结构。Canvas是一个HTML元素,通过JavaScript来控制其内容。在...

    html5 Canvas绘制2D背景 7款

    "html5 Canvas绘制2D背景 7款"这个主题意味着我们将探讨七种不同的方法或者样式,利用Canvas API来创建吸引人的背景效果。Canvas API提供了丰富的绘图命令,使得开发者可以实现各种复杂的视觉效果。 首先,我们要...

    微信小程序-小程序canvas绘制高铁线路图

    本项目“微信小程序-小程序canvas绘制高铁线路图”(wxapp-Gline)就是这样一个示例,展示了如何利用canvas在小程序中绘制出逼真的高铁线路图。 首先,canvas是HTML5引入的一个绘图元素,它提供了一个2D渲染上下文...

    html5 canvas绘制曲线动画特效源码.zip

    这个"html5 canvas绘制曲线动画特效源码....6. Canvas上的颜色处理,如渐变、阴影和图案 通过学习和分析这个源码,开发者不仅可以了解HTML5 Canvas的基础,还能掌握曲线动画的制作技巧,进一步提升Web前端开发能力。

    html5 canvas绘制七巧板特效.zip

    这个"html5 canvas绘制七巧板特效"项目,很可能是通过JavaScript和HTML5 Canvas API来实现七巧板的动态展示和交互效果。 首先,我们要理解HTML5 Canvas的基本用法。Canvas是一个二维绘图上下文,通过JavaScript来...

    HTML5 canvas绘制七巧板代码.zip

    在这个“HTML5 canvas绘制七巧板代码”项目中,开发者可以学习如何利用JavaScript和HTML5 canvas来实现一个交互式的七巧板游戏。 七巧板是一种古老的益智玩具,由七块不同形状的木板组成,可以拼出各种不同的图案。...

    HTML5 Canvas绘制漂亮的樱花树背景特效.zip

    为了模拟樱花花瓣的质感,可能会使用渐变色或图案。 4. **动画**:利用`requestAnimationFrame`创建动画效果,不断地清除画布并重新绘制,使樱花瓣看起来在飘落。每个花瓣可能有独立的位置、速度和旋转角度,随着...

    HTML5 Canvas绘制灰太狼图片简笔画.rar

    颜色处理方面,`fillStyle`和`strokeStyle`分别用于设置填充色和描边色,可以是简单的颜色字符串(如"#FF0000"代表红色),也可以是渐变或图案。为了创建灰太狼的特征,可能还需要使用`drawImage()`方法加载并绘制...

    html5+canvas绘制酷炫的火焰旋涡背景动画特效.zip

    HTML5 Canvas可以利用`fillStyle`属性设置填充颜色,而为了模拟火焰的效果,开发者可能需要使用渐变(`createLinearGradient()`或`createRadialGradient()`)或者图案(`createPattern()`)来创建从暖色调到冷色调的...

    js+html5实现canvas绘制椭圆形图案的方法

    根据文件信息,以下是对“js+html5实现canvas绘制椭圆形图案的方法”知识点的详细介绍: HTML5 Canvas是Web前端开发中用于图形绘制的一种强大工具,它允许用户在网页上绘制图形、图像和其他视觉效果。HTML5 Canvas...

    js+html5实现canvas绘制简单矩形的方法.docx

    此外,Canvas API还支持更多的图形绘制功能,比如线性渐变、径向渐变、图案填充等。例如,创建一个线性渐变: ```javascript var gradient = ctx.createLinearGradient(0, 0, 200, 0); gradient.addColorStop(0, "#...

    html5 canvas绘制放射性渐变色效果

    通过理解 `createRadialGradient` 和 `addColorStop` 方法,我们可以自定义复杂的渐变图案,为网页增添动态和美感。同时,对于初学者来说,需要注意Canvas API 的正确使用,避免如误将方法赋值给属性这样的常见错误...

    html5 Canvas绘制炫酷闪电动画特效代码.zip

    这个压缩包“html5 Canvas绘制炫酷闪电动画特效代码.zip”显然是一个包含HTML5 Canvas动画效果的示例代码集合。通过学习和理解这些代码,我们可以深入掌握Canvas的绘图原理和动画制作技巧。 首先,Canvas API提供了...

    canvas笔刷可绘制

    本项目聚焦于“canvas笔刷可绘制”,主要涉及的是如何使用Canvas API来自定义笔刷,调整颜色、大小和图案,以创建出独特且个性化的绘图体验。这个项目基于Vue框架,提供了一套JavaScript代码实现自定义笔刷功能。 ...

    HTML5 Canvas 3D弹性波浪声波动画特效

    HTML5 Canvas 是一种在网页上绘制图形的API,它允许开发者直接在浏览器中进行动态图形渲染,无需依赖任何插件。Canvas元素通过JavaScript提供了一种强大的2D绘图能力,而"HTML5 Canvas 3D弹性波浪声波动画特效"则是...

Global site tag (gtag.js) - Google Analytics