html5-canvas “ context.drawImage”是否不在画布上显示图像?
示例
使用尝试在画布上绘制图像对象之前,请确保已将其完全加载context.drawImage。否则,图像将无声显示。
在JavaScript中,图像不会立即加载。相反,图像是异步加载的,并且在加载图像的过程中,JavaScript会继续执行后续的任何代码image.src。这意味着context.drawImage可能用空图像执行,因此将不显示任何内容。
在尝试使用.drawImage绘制图像之前确保图像已完全加载的示例
var img=new Image();img.onload=start;
img.onerror=function(){alert(img.src+' failed');}
img.src="someImage.png";
function start(){
// 在图像完全加载之后,将调用start()
// 代码中起始位置的位置
}
在尝试绘制任何图像之前先加载多个图像的示例
功能齐全的图像加载器更多,但是此示例说明了如何执行此操作。
// 第一张图片var img1=new Image();
img1.onload=start;
img1.onerror=function(){alert(img1.src+' failed to load.');};
img1.src="imageOne.png";
// 第二张图片
var img2=new Image();
img2.onload=start;
img1.onerror=function(){alert(img2.src+' failed to load.');};
img2.src="imageTwo.png";
//
var imgCount=2;
// 每次加载图像时都会调用start
function start(){
// 倒计时,直到所有图像加载完毕
if(--imgCount>0){return;}
// 现在已成功加载所有图像
//context.drawImage将成功绘制每个
context.drawImage(img1,0,0);
context.drawImage(img2,50,0);
}
以上是 html5-canvas “ context.drawImage”是否不在画布上显示图像? 的全部内容, 来源链接: utcz.com/z/330697.html