本文主要用到的知识
本文主要用到了canvas api中的drawimage方法,下面对此方法略做介绍。
在Canvas API中绘制图像用drawImage方法,这是一个重载方法,定义如下:
context.drawImage(image,x,y); context.drawImage(image,x,y,w,h); context.drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh);
第一个方法有三个参数,第一个参数为要绘制的图像(还可以是video元素),x和y为该图像在画布中的起始坐标。
第二个方法有五个参数,前三个跟第一个方法意义一样,w和h指绘制时的图像宽度和高度,可以用来进行图像缩放。
第三个方法有九个参数,第一个参数跟前二个方法意义相同,后八个参数中前四个在源图像上一取一个矩形,后四个参数用于在画布上定义一个矩形,整个方法的作用就是把源图像上部分区域(第二到五个参数定义的部分)复制到画布上(后四个参数定义的部分)。
立即学习“前端免费学习笔记(深入)”;
本文主要利用了第三个方法完成绘制。
源代码
用动画的形式切换图片
用动画的形式切换图片
代码解析
drawleftToRight():效果为从左向右显示,主要把第四个参数和第八个参数从0逐渐增加到图片的宽度
drawtopToBottom():效果为从上向下显示,主要把第五个参数和第九个参数从0逐渐增加到图片的高度
drawhcenter():效果为从中间水平向两边显示,主要把第二、六个参数从图像宽度的一半减小到0,第四、八个参数从0增加到图像宽度
drawvcenter():效果为从中间向上下两边显示,跟上一个类似
drawhwindow():效果为水平方向百叶窗,跟drawhcenter方法原理类似,只是这里是从多个地方进行的
drawvwindow():效果为垂直方面百叶窗,跟drawvcenter方法原理类似,只是这里是从多个地方进行的
drawhvwindow():效果为百叶窗,是drawhwindow()跟drawvwindow()的组合
欢迎大家补充和完善。
由于图片是放在其他网站上,所以加载比较慢,显的不是那么流畅,大家使用时可以换为本地图片,效果更佳。










