首页 > web前端 > js教程 > 正文

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

php中文网
发布: 2016-05-16 16:24:02
原创
2275人浏览过

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             if (x == 0) {
                y             }
        }, 200);
        y == gridcountY ? clearInterval(inter) : null;
    } else { //非动画
        for (var y = 0; y             for (var x = 0; x                 g.putImageData(imagedata, gridspace * x + offsetX, gridspace * y + offsetY, grid_width * x, grid_height * y, grid_width, grid_height);
            }
        }
    }
}

html代码

复制代码 代码如下:

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

使用方法:

复制代码 代码如下:

//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

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

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号