| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2044 人关注过本帖
标题:canvas画图,背景图片总盖住其他内容
只看楼主 加入收藏
carsontu
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-8-9
结帖率:0
收藏
已结贴  问题点数:2 回复次数:2 
canvas画图,背景图片总盖住其他内容
我用canvas画图,同时执行的加载背景图片总盖住其他的画线,即便背景图是先执行的(放在后执行也试过,一样)。
但如果把画线的动作放在其他事件里执行,就可以在背景图片上方。
这是怎么回事?

[ 本帖最后由 carsontu 于 2015-8-9 16:56 编辑 ]
搜索更多相关主题的帖子: 背景图片 
2015-08-09 12:42
carsontu
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-8-9
收藏
得分:0 
回复 楼主 carsontu
不好意思,之前的代码摘错了。删了重贴在下面:

<p>
  <canvas id="myCanvas" width="520" height="520" style="border:1px solid #d3d3d3;">
    Your browser does not support the HTML5 canvas tag.
  </canvas>
  
  <script>
var c=document.getElementById("myCanvas");

var ctx=c.getContext("2d");
    var bakgrd=new Image();
    bakgrd.src="Images/wood1.jpg";
    bakgrd.onload=function(){
    ctx.drawImage(bakgrd,0,0);
    }
ctx.stroke();
</script>

<script>
ctx.beginPath();

for(var i=0; i<19; i++) {
    ctx.moveTo(20+i*30,20);
    ctx.lineTo(20+i*30,500);
    ctx.moveTo(20,20+i*30);
    ctx.lineTo(500,20+i*30);
}
ctx.stroke();
</script>

[ 本帖最后由 carsontu 于 2015-8-9 16:57 编辑 ]
2015-08-09 16:55
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:2 
问题应该在
bakgrd.onload=function(){
    ctx.drawImage(bakgrd,0,0);
}
这个地方,onload事件本身执行的就比较晚,是在页面加载之后执行的,换个事件,或者干脆直接执行ctx.drawImage(bakgrd,0,0);不可以吗

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2015-08-10 10:55
快速回复:canvas画图,背景图片总盖住其他内容
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016693 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved