canvas drawImage图片不显示问题

初次学习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事件

 

posted on 2019-06-14 14:24  安蝶 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/cyj7/p/11023062.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值