canvas drawImage图片不显示问题

匿名 (未验证) 提交于 2019-12-02 23:43:01

初次学习canvas,用来做笔记记录下遇到的问题及解决方案

这里是要将一张图片写到canvas里,按照网上搜索,初写了段代码,可是却没显示,以为是路径问题,不能跨域名使用,后来改为相对路径后,仍然无效,如下:

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Document</title> </head> <body>     <img src="./ws.jpg" alt="" style="width: 100px;" id="imgDom">     <canvas id="myCanvas" width="300" height="300">Your browser does not support the HTML5 canvas tag.</canvas>     <script>         var can = document.getElementById("myCanvas");         var ctx = can.getContext("2d");         var imgDom = document.getElementById("imgDom");         ctx.drawImage(imgDom, 0, 0);     </script> </body> </html>

后来经过搜索发现,是加载顺序的原因,很简单对不对?在图片没加载完的时候,不会调用drawImage方法,上代码:

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Document</title> </head> <body>     <img src="http://static.huibuy.shop/tuiguang/zaozhuang/img1.jpg" alt="" style="width: 100px;" id="imgDom">     <canvas id="myCanvas" width="300" height="300">Your browser does not support the HTML5 canvas tag.</canvas>     <script>         var can = document.getElementById("myCanvas");         var ctx = can.getContext("2d");         var imgDom = document.getElementById("imgDom");         imgDom.onload = function() {             ctx.drawImage(imgDom, 0, 0);         }     </script> </body> </html>

发现两段代码的不同了么,就是img标签上多了一个onload事件

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!