`
dufeifei
  • 浏览: 191108 次
  • 性别: Icon_minigender_2
  • 来自: 邯郸
社区版块
存档分类

Html5使用canvas绘制一些图形(渐变,三角)

UI 
阅读更多

Html代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>this is for test html5</title>
<script type="text/javascript" src="js/tank.js"></script>
</head>
<body onload="init()">
	<canvas id="canvas_f" width="200" height="100">
	</canvas>
	<canvas id="canvas_s" width="200" height="100">
	</canvas>
	<canvas id="canvas_t" width="200" height="100">
	</canvas>
	<canvas id="canvas_fo" width="200" height="100">
	</canvas>
	<canvas id="canvas_fi"width="200" height="100">
	</canvas>
	<canvas id="canvas_si" width="200" height="100">
	</canvas>
</body>
</html>
 

js代码:

//画布5容量下降的函数
var sY=20;
var sH=50;
var return_val=null;
var cxt5=null;
//第一张画布
var initFirst=function(){
	var obj1=document.getElementById("canvas_f");
	var cxt1=obj1.getContext("2d");
	var grd1=cxt1.createLinearGradient(0,0,100,0);
	grd1.addColorStop(0,"#000000");
	grd1.addColorStop(0.5,"#FFFFFF");
	grd1.addColorStop(1,"#000000");
	cxt1.fillStyle=grd1;
	cxt1.fillRect(0,0,100,100);
}
var initSecond=function(){
	var obj2=document.getElementById("canvas_s");
	var cxt2=obj2.getContext("2d");
	cxt2.strokeStyle="red";
	cxt2.beginPath();
	cxt2.moveTo(50,0);
	cxt2.lineTo(0,100);
	cxt2.lineTo(100,100);
	cxt2.lineTo(50,0);
	cxt2.closePath();
	cxt2.stroke();
}
var initThird=function(){
	//虚拟油罐
	var obj3=document.getElementById("canvas_t");
	cxt3=obj3.getContext("2d");
	//第一个点(坐标)
	cxt3.moveTo(0,20);
	//to第二个点(坐标)
	cxt3.lineTo(50,0);
	cxt3.lineTo(100,20);
	var grd3=cxt3.createLinearGradient(0,20,100,20);
	grd3.addColorStop(0,"#000000");
	grd3.addColorStop(0.5,"#FFFFFF");
	grd3.addColorStop(1,"#000000");
	cxt3.fillStyle=grd3;
	cxt3.fillRect(0,20,90,50);
	cxt3.fillStyle="green";
	cxt3.fillRect(90,20,10,50);
	cxt3.fillStyle="red";
	cxt3.fillRect(90,40,10,30);
	cxt3.stroke();
}
var initFourth=function(){
	var obj4=document.getElementById("canvas_fo");
	var cxt4=obj4.getContext("2d");
	cxt4.moveTo(0,20);
	cxt4.lineTo(50,0);
	cxt4.lineTo(100,20);
	var grd4=cxt4.createLinearGradient(0,20,100,20);
	grd4.addColorStop(0,"#000000");
	grd4.addColorStop(0.5,"#FFFFFF");
	grd4.addColorStop(1,"#000000");
	cxt4.fillStyle=grd4;
	cxt4.fillRect(0,20,100,50);
	cxt4.stroke();
}
function initFive(){
	setCount();
	//通过setInterval控制每秒下降
    return_val=setInterval("setCount()",1000);
}
function setCount(){
	var obj5=document.getElementById("canvas_fi");
	cxt5=obj5.getContext("2d");
	cxt5.fillStyle="#000000";
	cxt5.moveTo(0,20);
	cxt5.lineTo(50,0);
	cxt5.lineTo(100,20);
	cxt5.fill();
	var grd5=cxt5.createLinearGradient(0,20,100,20);
	//渐变
	grd5.addColorStop(0,"#000000");
	grd5.addColorStop(0.5,"#FFFFFF");
	grd5.addColorStop(1,"#000000");
	cxt5.fillStyle=grd5;
    cxt5.fillRect(0,20,100,50);
	//右侧容量条	    
    cxt5.fillStyle=grd5;
	cxt5.fillRect(0,20,90,50);
	cxt5.fillStyle="green";
	cxt5.fillRect(90,20,10,50);
	cxt5.fillStyle="red";
    cxt5.stroke();
    if(sY<70&&sH>0){
		sY=parseInt(sY)+5;
		sH=parseInt(sH)-5;
	}
    console.log("ing..."+sY+"---"+sH);
    cxt5.fillRect(90,sY,10,sH);
    //如果下降到0则停止
    if(sY>=70||sH<=0){
		clearInterval(return_val);
		return_val=null;
	}
}
function initSix(){
	var obj6=document.getElementById("canvas_si");
	var cxt6=obj6.getContext("2d");
	cxt6.moveTo(150,0);
	cxt6.fillStyle="red";
	cxt6.lineTo(100,100);
	cxt6.lineTo(200,100);
	cxt6.lineTo(150,0);
	cxt6.closePath();
	cxt6.fill();
}
function init(){
	//画布1,画渐变
	initFirst();
	//画布2,三角
	//(moveTo:起点(x,y)lineTo从上一个点到下一个点(x,y))
	initSecond();
	//画布3,虚拟油罐
	initThird();
	//画布4
	initFourth();
	//画布5
	initFive();
	//画布6
	initSix();
}

实现效果:

第一张

分享到:
评论

相关推荐

    基于HTML5 Canvas绘制的鼠标跟随三角形碎片光标动画特效源码.zip

    本项目“基于HTML5 Canvas绘制的鼠标跟随三角形碎片光标动画特效源码”就是一个利用Canvas技术实现的独特视觉效果,旨在增强网站的互动性和吸引力。 在前端开发中,Canvas通过JavaScript API提供了大量的绘图功能,...

    基于html5 canvas绘制三角立方体图形动画特效源码.zip

    这个"基于html5 canvas绘制三角立方体图形动画特效源码.zip"的压缩包文件显然是一个前端项目,旨在教授如何利用Canvas API创建复杂的3D图形和动画效果。 首先,Canvas API是一个JavaScript接口,通过它,开发者可以...

    html5 canvas绘制有趣的情绪表情动画特效

    在这个“html5 canvas绘制有趣的情绪表情动画特效”主题中,我们将深入探讨如何利用Canvas API来构建生动、有趣且具有情感表达的动画表情。 首先,Canvas是一个基于矢量图形的元素,通过JavaScript来操纵它的上下文...

    html5 canvas容器温度计特效

    HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,创造出丰富的视觉效果。在这个“html5 canvas容器温度计特效”中,我们将深入探讨如何利用Canvas API来实现一个交互式的温度计组件...

    HTML5 Canvas核心技术 图形、动画与游戏开发

    - **1.1.1 canvas元素的大小与绘图表面的大小**:`canvas`元素是HTML5中新增的一个用于绘制图形的标签。它本身并不具备任何渲染能力,必须通过JavaScript来进行绘制。该元素的尺寸可以通过CSS或直接通过`width`和`...

    HTML5 canvas绘制七巧板代码.zip

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

    HTML5 Canvas绘制3D波浪粒子动画特效.zip

    这个"HTML5 Canvas绘制3D波浪粒子动画特效"项目利用了Canvas的这一特性,结合JavaScript来实现令人惊叹的视觉效果。在本文中,我们将深入探讨这个特效背后的原理、技术以及实现方法。 首先,3D波浪粒子动画的实现离...

    HTML5 Canvas科技感三角形二维动画特效

    HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,创造出丰富的视觉体验。在这个“HTML5 Canvas科技感三角形二维动画特效”中,我们看到的是利用Canvas API创建的一种引人注目的背景...

    html5 canvas熊熊火焰动画特效

    HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,无需依赖任何外部插件。在这个“html5 canvas熊熊火焰动画特效”中,我们将深入探讨如何利用HTML5 Canvas API创建逼真的火焰动画...

    html5 canvas画布绘制燃烧的火焰动画特效

    HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上直接绘制图形,从而创建出丰富的交互式用户体验。在这个“html5 canvas画布绘制燃烧的火焰动画特效”项目中,我们将探讨如何利用Canvas API来实现逼真...

    Canvas交互式三角形动画特效.zip

    Canvas是HTML5的一个重要特性,它允许开发者在网页上进行动态图形渲染,无需借助任何插件,提供了一种强大的、基于矢量的图形绘制能力。 首先,我们要理解Canvas的基本原理。Canvas是一个矩形区域,通过JavaScript...

    HTML5 canvas实现的三角形马塞克图片显示效果源码.zip

    HTML5是现代网页开发的重要标准,它引入了许多新特性,其中canvas元素是用于在网页上进行动态图形绘制的。这个“HTML5 canvas实现的三角形马塞克图片显示效果源码.zip”文件提供了一个利用canvas元素创建三角形...

    HTML5 Canvas绘制梅雨季节在雨中撑伞行走的路人动画效果源码.zip

    在这个“HTML5 Canvas绘制梅雨季节在雨中撑伞行走的路人动画效果源码”中,我们可以深入探讨Canvas的几个关键知识点。 首先,Canvas是一个基于矢量图形的HTML元素,通过JavaScript API进行操作。在本项目中,开发者...

    Android编程开发之在Canvas中利用Path绘制基本图形(圆形,矩形,椭圆,三角形等)

    在Android编程中,Canvas是用于在屏幕上绘制图形的重要类,而Path则是用来描述复杂路径的工具,能够绘制出各种形状,如圆形、矩形、椭圆以及不规则多边形等。下面我们将深入探讨如何利用Path在Canvas上绘制这些基本...

    html5 canvas线条照射爱心发光动画特效

    HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,创造出丰富的视觉体验。在这个“html5 canvas线条照射爱心发光动画特效”项目中,我们将深入探讨Canvas API的应用,以及如何实现...

    借助HTML5 Canvas来绘制三角形和矩形等多边形的方法

    HTML5 Canvas 是一种在网页上绘制图形的强大工具,它允许开发者动态创建丰富的视觉内容而无需依赖外部图像。本文将深入探讨如何使用HTML5 Canvas来绘制三角形、矩形以及更复杂的多边形。 首先,我们需要了解Canvas...

    HTML5canvas初级入门教程.pdf

    HTML5 Canvas 是一种在网页上进行动态图形绘制的技术,它是HTML5标准的一部分,允许开发者使用JavaScript来创建和修改2D图形。这个初级入门教程主要涵盖了Canvas的基本概念、使用方式以及一些基本的绘图操作。 首先...

    HTML5 canvas实现的炫酷流光线性花形图案绘制动画效果源码.zip

    通过这个源码,初学者可以学习到如何使用HTML5 canvas进行动态图形编程,了解如何创建动画、处理颜色和渐变、响应用户输入等。对于有经验的开发者来说,这是一个很好的参考案例,可以从中学习到更多关于性能优化和...

    html5 canvas毕达哥拉斯树生长动画特效

    HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,创造出丰富的视觉效果。毕达哥拉斯树(Pythagorean Tree)是一种几何艺术图案,基于毕达哥拉斯定理,通常由一系列等腰直角三角形...

Global site tag (gtag.js) - Google Analytics