加载本地(或在线)图片时出现问题。所以我使用canvas HTML 5然后我在其上放了一个新图像,但是图像从未在第一时间加载。我需要刷新页面一次。第一次,图像被加载但不及时,所以没有显示。然后,当我刷新时,图像仍然在我的浏览器(firefox 50)的缓存中,以便工作。 我在论坛上看到我需要等待:
myimage.onload = function(){
context.drawImage(myimage,0,0,myimage_size,myimage_size);
}
myimage.src = mysrc;
但是这不起作用,图像没有显示出来。所以我尝试另一种方式:
var elementHTML = document.createElement('img');
var canvas = document.createElement('canvas');
canvas.width = my_size;
canvas.height = my_size;
elementHTML.appendChild(canvas);
context = canvas.getContext('2d');
base_image = new Image();
base_image.src = base_image_src;
base_image.addEventListener('load', test(this.owner));
function test(owner){
//here there is the trick, with that, all work but I need program work without that !
while(window.alert("done")){};
context.drawImage(base_image,0,0,my_size,my_size)
if (owner == "1") {
//I modified some colors of my image
recolorRGBImage(context,lineTuleColorRGB,playerLineTuleColorRGB_1,lineTrigger);
recolorRGBImage(context,fillTuleColorRGB,playerFillTuleColorRGB_1,fillTrigger);
}
else {
recolorRGBImage(context,lineTuleColorRGB,playerLineTuleColorRGB_2,lineTrigger);
recolorRGBImage(context,fillTuleColorRGB,playerFillTuleColorRGB_2,fillTrigger);
}
}
这项工作但很明显,警报绝不能显示出来。如何在没有警报的情况下做我做的事情? (警报使用像onload一样因为这些方法不起作用)
谢谢!