小城市企业网站建设,学科专业建设规划,长沙产品设计公司,好的摄影网站如下所示#xff0c;在for循环中绘制图像#xff0c;由于onload函数加载图像是异步执行#xff0c;会导致显示不全所有图片的问题。 for(var a0;a2;a){ var img canvas.createImage()img.src product_image[items[a]]img.onload (){ctx.drawImage(el,0,h,i…如下所示在for循环中绘制图像由于onload函数加载图像是异步执行会导致显示不全所有图片的问题。 for(var a0;a2;a){ var img canvas.createImage()img.src product_image[items[a]]img.onload (){ctx.drawImage(el,0,h,image_w,image_h)} }
可以将异步执行过程通过promise变为同步执行但此方法相对复杂。
可以在第一个for循环中保存img对象然后单独增加一个for循环加载图片如下所示 var image []for(var a0;a2;a){ var img canvas.createImage()img.src product_image[items[a]]image[a] img }image.forEach(function(el,index){var h index*pr_heightpr_h_marginp_name_sizesp_el_hel.onload (){ctx.drawImage(el,0,h,image_w,image_h)}});
更多微信小程序内容欢迎关注博主和订阅专栏。
有相关业务可以联系博主。