點選上面這張圖片就可以看到效果~
最近在練習html5中練習到一個不錯的技巧,
就是利用二維矩陣來產生圖片,
而製作出來的圖片又可以利用html5的方式輸出成jpg或png,
或是進一步製作動畫或是遊戲,
算是一個非常實用的技法~
原理其實就是把一張具有固定長寬格子畫分的圖片,
轉換成二維矩陣的形式來表現,
再利用html5當中的drawImage,
根據矩陣讀取各個格子中的圖片區塊來組合~
轉換成二維矩陣的形式來表現,
再利用html5當中的drawImage,
根據矩陣讀取各個格子中的圖片區塊來組合~
<script>
var Canvas = document.getElementById("canvas");
var context = Canvas.getContext("2d");
var theMap = [
[8,8,8,8,8,19,8,8,8,8],
[19,19,19,19,19,19,19,19,19,19],
[1,19,3,19,3,19,3,19,19,1],
[19,19,19,19,19,19,19,19,19,19],
[26,26,26,26,26,19,26,26,26,26]
];
var spaceShip = new Image();
spaceShip.src = "img/tankbrigade2.png";
spaceShip.addEventListener("load",eventShipLoaded,false);
function eventShipLoaded(){
drawscreen();
}
function drawscreen(){
for(var row=0;row<5;row++){
for(var col=0;col<10;col++){
var a = theMap[row][col]-1;
var sx = Math.floor(a%8)*33;
var sy = Math.floor(a/8)*33;
context.drawImage(spaceShip,sx,sy,34,34,col*33,row*33,34,34);
}
}
}
</script>
沒有留言:
張貼留言