canvas drawImage初次加载以及加载完成后事件

直接调用canvas的 drawImage()方法首次加载时图片不显示,解决方案是在Img.onload()方法中绘制图。但是如果以后需要不断的绘制该图片的时候就会一直调用onload事件,出现图片一闪一闪的现象,解决方案是根据Img.complete()方法判断图片是否加载完成。如下:

var devBgImg = new Image();
			devBgImg.src =this.imgUrl;
			var imgX=this.coodinate.x;
			var imgY=this.coodinate.y+10;
			var imgWidth=this.width;
			var imgHeight=this.height-10;
			if(devBgImg.complete) { // 如果图片已经存在于浏览器缓存,直接调用回调函数  
				context.drawImage(devBgImg,imgX,imgY,imgWidth,imgHeight); 
				return; // 直接返回,不用再处理onload事件  
			}  
			devBgImg.onload=function(){
				context.drawImage(devBgImg,imgX,imgY,imgWidth,imgHeight);
			};

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。

你可能感兴趣的:(js)