我試圖借鑑HTML畫布圖像:帆布的drawImage不工作
var mainCanvas = document.getElementById('mainCanvas');
var ctx = mainCanvas.getContext('2d');
我做一個Ajax請求,並解析,我從它那裏得到(完美的作品)的XML數據,後來當我畫它在畫布上的不同形狀也是100%。 什麼不工作是一個圖像在下面的代碼繪製:
$(data).find('Object').each(function(){
type = $(this).attr('type');
x = $(this).attr('X');
y = $(this).attr('Y');
switch(type){
case '2':
height = h_panel;
width = w_panel;
ctx.fillStyle = sColor;
ctx.fillRect(x,y,width,height);
break;
case '1':
var powerFactoryImg = new Image();
powerFactoryImg.onload = function(){
alert('test');
ctx.drawImage(powerFactoryImg,x,y,90,80);
};
powerFactoryImg.src = 'images/power_factory.png';
break;
//Other cases go here - they draw rectangles - all of them work
}
});
我有Chrome開發者工具的形象是加載檢查;此外,正在調用.onload中的警報。該代碼在Chrome和FF中都不起作用。 這裏可能是什麼問題?
謝謝
鑑於正在加載圖像,問題可能出在其他地方,而不是您提供的代碼中,或者您在畫布邊界外繪製圖像,因此看不到它。或者可能畫一些東西呢? – Delta 2012-03-04 19:01:44
檢查onload中x和y的值:alert('test:'+ x +','+ y); – 2012-03-04 19:06:33