0
我正在嘗試向圖像添加多個形狀遮罩。我調用了一個函數,它接受座標並在屏幕上繪製一個正方形。這個正方形顯示圖像的一部分。這工作正常。之後,它不會重新繪製。我想要發生的是,我在屏幕上繪製了幾個形狀/蒙版以最終顯示整個圖像。如何向畫布添加多個形狀遮罩
var baseImg;
var ctx;
var img;
var imageLoaded = false;
var gridWidth = 50;
var gridHeight = 50;
function init() {
baseImg = $('#baseImg')[0];
ctx = baseImg.getContext('2d');
img = new Image();
imageLoaded = false;
img.onload = function() {
imageLoaded = true;
}
img.src = './images/tiles.jpg';
};
function showMask(maskCoord){
if(!imageLoaded) return;
var originPoint = {
x : (gridWidth * maskCoord.x),
y : (gridHeight * maskCoord.y)
}
ctx.beginPath();
ctx.moveTo(originPoint.x, originPoint.y);
ctx.lineTo((originPoint.x + gridWidth), originPoint.y);
ctx.lineTo((originPoint.x + gridWidth), (originPoint.y + gridHeight));
ctx.lineTo(originPoint.x, (originPoint.y + gridHeight));
ctx.closePath();
ctx.clip();
/// draw the image to be clipped
ctx.drawImage(img, 0, 0);
}
這是我正在做的事情的鏈接。
http://jsfiddle.net/DezOnlyOne/CLYNA/4/
感謝GameAlchemist! – DezOnlyOne
你似乎從來沒有得到任何upvote的愛! +1 – Loktar
@Loktar我有時候我猜...無論如何感謝隊友! – GameAlchemist