javascript+canvas制作九宫格小程序

js核心代码

代码如下:
标签ID *imageid:html img 标签ID *gridcountX:x轴图片分割个数 *gridcountY:y轴图片分割个数 *gridspace:宫格空隙 *offsetX:x*y宫格相对canvas(0,0)X坐标偏移量 **offsetX:x*y宫格相对canvas(0,0)Y坐标偏移量 *isanimat:是否启用动画显示 */ function ImageGrid(canvasid,imageid,gridcountX,gridcountY,gridspace,offsetX,offsetY,isanimat) { var image = new Image(); var g = document.getElementById(canvasid).getContext("2d"); var img=document.getElementById(imageid); image.src=img.getAttribute("src"); g.drawImage(image,0); var imagedata = g.getimageData(0,image.width,image.height); var grid_width = imagedata.width / gridcountX; var grid_height = imagedata.height / gridcountY; //动画 if (isanimat) { var x = 0, y = 0; var inter = setInterval(function() { g.putimageData(imagedata,gridspace * x + offsetX,gridspace * y + offsetY,grid_width * x,grid_height * y,grid_width,grid_height); x < gridcountX ? x++ : x = 0; if (x == 0) { y < gridcountY ? y++ : y = 0; } },200); y == gridcountY ? clearInterval(inter) : null; } else { //非动画 for (var y = 0; y < gridcountY; y++) { for (var x = 0; x < gridcountX; x++) { g.putimageData(imagedata,grid_height); } } } }

HTML代码

代码如下:

display:none" src="https://files.jb51.cc/file_images/article/201412/2014122894620636.jpg"/>

使用方法

代码如下:

代码很简洁,效果却非常炫酷,小伙伴们学会了吗?

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...