javascript - canvas的drawImage无法显示图像
伊谢尔伦
伊谢尔伦 2017-04-10 15:20:09
[JavaScript讨论组]

经测试,在firefox上可以显示图片,但是在chrome上无法显示,求教?

<style>
#canvas{
border:1px solid yellow;
position:absolute;
left:500px;
top:50px;
}
</style>

<script src="demo.js"></script>

demo.js:
window.onload=function(){
var Canvas=document.getElementById("canvas");
var cxt=Canvas.getContext("2d");
var bg=new Image();
bg.src="../img/2-14020314314A26.jpg";
cxt.drawImage(bg,0,0);
};

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(2)
PHP中文网
window.onload=function(){
    var Canvas=document.getElementById("canvas");
    var cxt=Canvas.getContext("2d");
    var bg=new Image();
    //你指定了图片的地址,但是图片的加载是需要时间的
    bg.src="../img/2-14020314314A26.jpg";
    //执行完上面一行,马上就开始画这个图
    //虽然bg这个对象有了,但是图片还没有加载完成,因此画的时候什么都没有
    cxt.drawImage(bg,0,0);
};

改成这样:

window.onload=function(){
    var Canvas=document.getElementById("canvas");
    var cxt=Canvas.getContext("2d");
    var bg=new Image();
    //先指定一个回调函数,图片加载好之后自然会回来执行
    bg.onload = function () {
        cxt.drawImage(bg,0,0);
    };
    //加载图片,完成后执行刚才的函数
    bg.src="../img/2-14020314314A26.jpg";
};

感兴趣的话可以来看看我的Gorgeous.JS。

天蓬老师

var bg=new Image();
bg.src="../img/2-14020314314A26.jpg";//只是更新了DOM对象,图片数据信息还未加载完成,加载资源是异步执行的
需要监听load事件的,事件发生后,就能获取资源
如楼上所写...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号