最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

javascript+canvas制作九宫格小程序_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 21:30:58
文档

javascript+canvas制作九宫格小程序_javascript技巧

javascript+canvas制作九宫格小程序_javascript技巧:js核心代码 代码如下: /* *canvasid:html canvas标签id *imageid:html img 标签id *gridcountX:x轴图片分割个数 *gridcountY:y轴图片分割个数 *gridspace:宫格空隙 *offsetX:x*y宫格相对canvas(0,0)X坐标偏移量 **offset
推荐度:
导读javascript+canvas制作九宫格小程序_javascript技巧:js核心代码 代码如下: /* *canvasid:html canvas标签id *imageid:html img 标签id *gridcountX:x轴图片分割个数 *gridcountY:y轴图片分割个数 *gridspace:宫格空隙 *offsetX:x*y宫格相对canvas(0,0)X坐标偏移量 **offset
 js核心代码

代码如下:
/*
*canvasid:html canvas标签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, 0);
var imagedata = g.getImageData(0, 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, gridspace * x + offsetX, gridspace * y + offsetY, grid_width * x, grid_height * y, grid_width, grid_height);
}
}
}
}

html代码

代码如下:
Canvas demo

使用方法:

代码如下:
//eg...
ImageGrid("canvas1", "image1", 3, 3, 2, 220, 0, true); //3*3
ImageGrid("canvas1", "image1", 4, 4, 2, 440, 0, true); //4*4
ImageGrid("canvas1", "image1", 3, 4, 2, 660, 0, false); //3*4

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

文档

javascript+canvas制作九宫格小程序_javascript技巧

javascript+canvas制作九宫格小程序_javascript技巧:js核心代码 代码如下: /* *canvasid:html canvas标签id *imageid:html img 标签id *gridcountX:x轴图片分割个数 *gridcountY:y轴图片分割个数 *gridspace:宫格空隙 *offsetX:x*y宫格相对canvas(0,0)X坐标偏移量 **offset
推荐度:
标签: js javascript canvas
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top