canvas drawImage图片不显示问题

摘要:
它用于记录遇到的问题和解决方案。这里是将图像写入画布。imgsrc=“./ws.jpg”alt=“”style=“100px;后来,通过搜索找到了它;htmllang=“en”>imgsrc:“http://static.huibuy.shop/tuiguang/zaozhuang/img1.jpg”alt=”“”style=”100px;“id=”imgDom“&gt

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

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <img src="./ws.jpg" alt="" style=" 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=" 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事件

免责声明:文章转载自《canvas drawImage图片不显示问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java获取两个指定日期之间的所有月份(查询两个月份之间的相隔)C# List 对象去重下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

POJ 1386 Play on Words (有向图欧拉路径判定)

Play on Words Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 8768   Accepted: 3065 Description Some of the secret doors contain a very interesting word puz...

WebService基本使用

不使用任何框架,纯粹使用JDK开发一个服务端与客户端 服务端 package org.zln.ws.server;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.zln.ws.server.domain.User;import javax.jws.WebService;/*...

快速搭建angular7 前端开发环境

第一步:全局安装 Angular CLI (1)打开npm(终端)安装angular-cli 第二步:创造工作区和初始应用 (1)运行命令 ng new my-app 第三步:启动开发服务器 (1)cd my-app (2)ng serve --open (3)运行成功后app.component.js/app.component.css/app.comp...

Eclipse创建Maven多模块工程Module开发(图文教程)

自己研究了下Eclipse用Maven多模块工程Module开发,跟大家分享一下! 功能模块来分Module,跟java的package类似,一般是按照的功能模块分module,比如:sso/cas/portal/activity/system,具体可根据需要 例如下面一个某系统的module --module-test-common公共部分 --modu...

springboot中使用h2数据库(内存模式)

使用H2的优点,不需要装有服务端和客户端,在项目中包含一个jar即可,加上初始化的SQL就可以使用数据库了 在springboot中引入,我的版本是2.1.4,里面就包含有h2的版本控制 <!-- 集成h2数据库 --> <dependency> <groupId>c...

centos8安装docker+phpfpm+alpine+nginx+mariadb

2020-3-31 12:51:44 星期二 记录一下安装过程备忘: 1. 宿主机 centos8 安装docker-ce (可参考centos7的安装方法, 没有太大变化) 2. nginx 直接装在宿主机上, 添加一个域名的配置, 将php文件的请求转发到 172.0.0.1:9700 3. php通过docker的方式安装, 基础镜像选择alpine...