首頁 > web前端 > js教程 > 主體

javascript canvas製作九宮格小程式_javascript技巧

WBOY
發布: 2016-05-16 16:24:02
原創
2022 人瀏覽過

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_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)             }
        }
    }
}

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

程式碼很簡潔,效果卻非常酷,朋友們學會了嗎?

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!