2012-02-09 124 views
1

有沒有可能鎖定canvas元素?在我的應用程序中,我繪製複雜的圖像,有時使用位圖。在畫布上使用位圖並不是很舒服 - 位圖後放置在畫布上的所有圖形都放置在位圖.onload中。鎖定/解鎖HTML5畫布

如果我可以鎖定和解鎖canvas,這將會容易很多,因此無法在一段時間內更新。

AFAIK沒有內置的鎖定/解鎖功能。你知道實現它的簡單方法嗎?

+2

我從來沒有用過的畫布,但作爲一個大膽的想法:你可以畫上一個隱藏的畫布和圖像複製到一個可見當您完成。 – RoToRa 2012-02-09 10:34:47

+0

我已經在使用這種技術,這很常見:) – Yax 2012-02-27 21:37:17

回答

1

我不知道這是否是防彈或沒有,但你可以暫時使.stroke等noops:http://jsfiddle.net/eGjak/247/

var toLock = "stroke fill".split(" "); 

function lock() { 
    $.each(toLock, function(i, name) { // or another way to loop the array 
     ctx[name] = function() {}; 
    }); 
} 

function unlock() { 
    $.each(toLock, function(i, name) { 
     ctx[name] = ctx.constructor.prototype[name]; 
    }); 
} 
0
$("canvas").attr("disable","False"); 

// bitmap .onload... 

$("canvas").attr("disable","True"); 

或者

bitmap.onload = function(){ 
    var canvas = window.getCanvas(); 
});