H5中标签Canvas实现图像动画
一:主题部分
1.介绍
canvas可以实现画图功能,所以只要通过js的控制,就可以实现简单的动画效果。
这里主要是两个程序,一个小球来回上下弹跳,一个是吹气球。
2.弹跳程序
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>canvas dynamic</title>
<script src="D:\jquery\jquery-1.12.4.min.js"></script>
</head>
<body>
<canvas id="dynamic" width="200" height="200"></canvas>
<br/>
<script type="text/javascript">
var width=200;
var height=200;
var start=0;
var exp=1;
var canvas=document.getElementById("dynamic");
var dynamic=canvas.getContext("2d");
function draw(){
dynamic.clearRect(0,0,width,height);
dynamic.fillStyle="red";
dynamic.beginPath();
dynamic.arc(100,start,30,0,Math.PI*2,1);
dynamic.closePath();
dynamic.fill();
start=start+exp;
if(start==0||start==height-1){
exp=exp*-1;
}
}
</script>
<input onclick="dyid=setInterval(draw,10);" type="button" value="开始"/>
<input onclick="clearInterval(dyid);" type="button" value="停止">
</body>
</html>
3.运行结果

4.气球程序
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>canvas dynamic</title>
<script src="D:\jquery\jquery-1.12.4.min.js"></script>
</head>
<body>
<canvas id="dynamic" width="400" height="200"></canvas>
<br/>
<script type="text/javascript">
var width=400;
var height=200;
var start=0;
var exp=1;
var canvas=document.getElementById("dynamic");
var dynamic=canvas.getContext("2d");
function draw(){
dynamic.clearRect(0,0,width,height);
dynamic.fillStyle="red";
dynamic.beginPath();
dynamic.arc(200,start,start,0,Math.PI*2,1);
dynamic.closePath();
dynamic.fill();
start=start+exp;
if(start==0||start==height-1){
exp=exp*-1;
}
}
</script>
<input onclick="dyid=setInterval(draw,10);" type="button" value="开始"/>
<input onclick="clearInterval(dyid);" type="button" value="停止">
</body>
</html>
5.运行结果

二:问题
1.
通过测试,发现的问题,经过多次点击之后,单击停止没有效果。
程序只是针对一次开始,一次停止的结果。
bug以后再进行修改。
H5中标签Canvas实现图像动画的更多相关文章
- 关于H5中的Canvas API的探索
Canvas API 是H5中比较炫酷的一部分内容.可以通过它动态的生成和展示图形.图表.图像以及动画.下面我将学习一下Canvas API. 最后有书籍和源码. 一.概述: 1.基本元素: 在网页上 ...
- 从web图片裁剪出发:了解H5中的canvas
本篇内容不针对canvas文档对每个api进行逐个的详解! 本篇内容不针对canvas文档对每个api进行逐个的详解! 本篇内容不针对canvas文档对每个api进行逐个的详解! 重说三,好了,现在进 ...
- 用H5中的Canvas等技术制作海报
在去年的时候也实现过合成海报的功能,不过当时时间仓促,实现的比较简单. 就一个旋转功能,图片也不能拖动放大,也不能裁剪. 去年的实现可以参考<移动图片操作--上传>和<移动图片操作- ...
- H5中需要掌握的 ANIMATION 动画效果
CSS3的动画在PC网页上或者APP上用得越来越多,比如H5页面的应用,目前在营销传播上的意义比较大,还有企业官网或者APP主要介绍也用得比较多,当然还有很多地方都用到.所以学习css的动画也迫在眉睫 ...
- H5 新增标签canvas 画布
canvas是写在body中的标签,设置宽高后,通过JS来往其中绘制想要的内容, canvas可以理解为一个画板,而JS就是你的画笔. 1.获取到画布 var canvas = document.ge ...
- html5标签canvas函数drawImage使用方法
html5中标签canvas,函数drawImage(): 使用drawImage()方法绘制图像.绘图环境提供了该方法的三个不同版本.参数传递三种形式: drawImage(image,x,y):在 ...
- 通过H5的新标签canvas做出一个时钟的全过程,希望对初学者有帮助
最近学习了H5中的一个新标签canvas并且用它做出了一个时钟,最下面是成品图像,还不错吧,这只是我学习中的一个小demo,做得有点粗糙,但终究是做出来了,以后再写自己的网页主页再做一个好看点放上去. ...
- h5标签canvas关于getImageData跨域的问题
h5标签canvas关于getImageData跨域的问题 在学习h5的时候,canvas标签中getImageData()报错:security error! 具体代码如下(chrome浏览器): ...
- Android中使用SurfaceView和Canvas来绘制动画
事实上每一个View中都有Canvas能够用来绘制动画.仅仅须要在这个View中重载onDraw()方法就能够,可是SurfaceView类是一个专门用来制动动画的类. Canvas(中文叫做&quo ...
随机推荐
- 简单prufer应用
[bzoj1005] Description 自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树? ...
- 【codeforces 666E】 Forensic Examination
http://codeforces.com/problemset/problem/666/E (题目链接) 题意 给出一个主串$S$,$n$个匹配串编号从$1$到$n$.$m$组询问,每次询问主串的一 ...
- java.lang.UnsupportedClassVersionError: org/kie/api/KieServices$Factory : Unsupported major.minor version 52.0
Unsupported major.minor version 52.0为JDK1.8编译器的版本,需要更换为JDK1.8的编译器与JDK1.8开发环境 idea中通过修改
- (转)丢掉鼠标吧,使用最好用的eclipse快捷键
背景:eclipse作为自己经常使用的一款开发工具,熟练运用,能够达到事半功倍的效果.下面这篇文章总结了一些平时经常要使用的快捷键,十分的方便. 介绍Eclipse快捷键的文章很多,但大多都不详细,且 ...
- 图像处理之生成ColorBar
1 colorBar介绍 colorBar主要是指一些图像处理中使用的常见纯色或者渐变色条.colorBar用途可作为测试样图来验证某些图像算法的效果,从而避免图像内容或者硬件对图像的干扰,使图像算法 ...
- 浮动和margin-left负值的有趣现象
我将第二个浮动的元素的margin-left的值不断减小: 被设置元素左移,后面的元素跟着动 当被设置元素的右边界超过了前面元素的左边界,后面边的元素被前面的元素挡在外面了
- ubuntu 发送邮件
1. 使用下面命令安装 sudo apt-get install heirloom-mailx 2. 编辑配置信息 vim /etc/nail.rc //此时如果打印没有权限则使用sudo命令,并且在 ...
- C#的Lamda表达式_匿名函数
- Why do we make statistics so hard for our students?
Why do we make statistics so hard for our students? (Warning: long and slightly wonkish) If you’re l ...
- (F - 超级英雄Hero HYSBZ - 1191 )匈牙利算法
题目链接:https://cn.vjudge.net/contest/281037#problem/F 题目大意:中文题目 具体思路:可以看成二分图匹配,寻找最大匹配就可以了,注意当某一个匹配不到的时 ...