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 id="canvas1" width="900px" height="550px">Canvas demo</canvas> <img id="image1" style="display:none" src="https://img.jbzj.com/file_images/article/201412/2014122894620636.jpg"/>
使用方法:
//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
代码很简洁,效果却非常炫酷,小伙伴们学会了吗?
grid 九宫格,功能类似于微信钱包界面中的九宫格,用于展示有多个相同级别的入口。包含功能的图标和简洁的文字描述。实现这个布局主要就是用了 weui 中的 .weui-grid,这种布局在 mpvue中也是完全支持的,示例代码如下: <template> <div class="page"> <div class="page__bd"> <div class="weui-g
九宫格问题,要求: 行列必须为相等的奇数 每行数字之和、每列数字之和、两个对角线数字之和,都相等 思路说明 按照下面的方式排列 横向为x(从0到n-1),纵向为y方向(从0到n-1) 1、第一个数放在X方向的中间位置 2、其它数顺次放置各个位置,并依据如下原则:(假设第一个数是a,第二个数是b) 以a为中心的位置关系分别为: 左上|上|右上 左 |a |右 左下|下|右下 (1)b放在a的右上位置
本文向大家介绍js实现九宫格拼图小游戏,包括了js实现九宫格拼图小游戏的使用技巧和注意事项,需要的朋友参考一下 效果如下: 代码如下: 设计思路: 我们要做的就是设置一个大 DIV 用来包裹里面的小 DIV,然后在里面设置 8 个小 DIV,从 1 开始给他们编号。右边设置两个按钮,点击开始的时候开始计时,完成拼图后停止计时,并弹出一个框,提示完成了。重来按钮是当用户觉得当前有难度的时候,点击重来
本文向大家介绍实现九宫格布局相关面试题,主要包含被问及实现九宫格布局时的应答技巧和注意事项,需要的朋友参考一下
题目描述 九宫格是一款广为流传的游戏,起源于河图洛书。 游戏规则是:1到9九个数字放在3×3的格子中,要求每行、每列以及两个对角线上的三数之和都等于15. 在金麻名著《射雕英雄传》中黃蓉曾给九宫格的一种解法,口诀:戴九恩一,左三右七,二四有肩,八六为足,五居中央。解法如图所示。 现在有一种新的玩法,给九个不同的数字,将这九个数字放在3×3的格子中,要求每行、每列以及两个对角线上的三数之积相等(三阶
本文向大家介绍js实现九宫格抽奖,包括了js实现九宫格抽奖的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js实现九宫格抽奖的具体代码,供大家参考,具体内容如下 CSS: js: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。