国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

javascript+canvas制作九宮格小程序

2024-05-06 16:13:03
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了javascript+canvas制作九宮格小程序,效果非常棒,這里推薦給有需要的小伙伴們
 
 

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="http://m.survivalescaperooms.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

 

代碼很簡潔,效果卻非常炫酷,小伙伴們學會了嗎?


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 巢湖市| 民勤县| 永宁县| 那坡县| 新田县| 丰镇市| 梅州市| 辽宁省| 定陶县| 收藏| 永和县| 潢川县| 岐山县| 河东区| 长葛市| 香港| 阳朔县| 青州市| 秦皇岛市| 深水埗区| 临潭县| 高州市| 乌什县| 西华县| 惠水县| 鹰潭市| 富宁县| 迭部县| 靖州| 武清区| 罗山县| 常山县| 绥中县| 灵丘县| 涿州市| 天水市| 蓬溪县| 肥乡县| 汶上县| 北川| 泾阳县|