今天在做canvas的时候,注意到,如果想使用drawImage()这个函数,图像必须是已经加载完成的。倘若我在开始使用js声明了2个image对象如下:
var img_1 = new Image();
img_1.src = "1.jpg";
var img_2 = new Image();
img_2.src = "2.jpg";
那我在后面如果想让这两张图片在canvas中显示出来,我只需要确定其中一张图片已经加载完成(注:保证2张图片都能成功加载的状况下)
img_1.onload = function(){
canvas.drawImage(img_2, 0, 0);
}
同样是可以显示的,这也就说明了img_2对象已经加载完成了,所以我想知道游览器对js中声明的image对象是怎样的一个加载,是一张加载完成就全部加载完成了么?新手学习中,如果我理解有错误,希望大神勿喷
img_1.src = "1.jpg";
在這裡就已經在加載了
加載是有順序的
但瀏覽器同時可以有不只一個請求
只有兩張圖片(且圖片都不大)時
同時發送請求
會讓你產生錯覺以為一張完成就都完成了
可以試試多加載幾張
在瀏覽器開發者工具的Network裡看看實際加載情況
會對你更有幫助喔