我開始學習使用JavaScript和HTML5的畫布。HTML5 canvas「重置」fillStyle
我想繪製幾個不同的圖案元素,但我總是得到最後設置的模式。我試圖使用save()
和restore()
方法來存儲堆棧統計信息,但肯定我在某個地方犯了一個錯誤,有人能幫助我嗎?
window.onload = function(){
draw(100, 100, "http://www.itexto.net/devkico/wp-content/uploads/2011/03/stackoverflow-logo-250.png");
draw(0, 0, "http://googlediscovery.com/wp-content/uploads/google-home.png");
};
function draw(x, y, src) {
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
context.save();
var imageObj = new Image();
imageObj.onload = function(){
var pattern = context.createPattern(imageObj, "repeat");
context.rect(x, y, 100, 100);
context.fillStyle = pattern;
context.fill();
};
imageObj.src = src;
context.restore();
}
所以你提示: context.save(); imageObj.onload = function(){(...)context.restore();}? 我試過,但沒有工作 – canvioso
不,他說'imageObj.onload = function(){context.save(); ...; context.restore(); }' – Alnitak
那也沒用。最後的圖像被用作圖案。 – canvioso