网络编程 
首页 > 网络编程 > 浏览文章

javascript+canvas制作九宫格小程序

(编辑:jimmy 日期: 2025/12/27 浏览:3 次 )

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 "codetitle">复制代码 代码如下:
<canvas id="canvas1" width="900px" height="550px">Canvas demo</canvas>
 <img id="image1" style="display:none" src="/UploadFiles/2021-04-02/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

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

上一篇:JavaScript设计模式之适配器模式介绍
下一篇:JavaScript设计模式之装饰者模式介绍
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap