为什么图片在上,颜色在下,没有图片在下,颜色在上?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>canvas图片</title>
<style>
canvas{background-color:lightblue;}
</style>
</head>
<body>
<canvas id="canvas" width="800px" height="800px">您的浏览器不支持canvas
</canvas>
<script>
var canvas=document.getElementById("canvas");
var context=canvas.getContext('2d');
context.translate(400,400);
context.beginPath();
var img = new Image();
img.src = "http://img1.sycdn.imooc.com/climg//59859f4d00014f1503000100.jpg";
img.onload=function(){
context.drawImage(img,-75,-25,150,50);
};
context.arc(0,0,150,0,2*Math.PI,true);
context.fill();
</script>
</body>
</html>就是看不见图片,被颜色挡住了
21
收起
正在回答
2回答
同学你好,非常抱歉,老师看错了,以为同学要表达的是图片显示不出来。
这里若是想让背景覆盖到图片上,可以将img.onload去掉,例:

这是因为代码按照从上到下的顺序执行,但是当图片加载这里,是图片加载完才插入的。而这个时候,继续往下执行,已经填充完了,所以背景是在下面的。
而若是去掉加载完插入,直接插入。然后再填充,背景就在上面了。
如果我的回答帮助了你,欢迎采纳,祝学习愉快~
3.WebAPP开发与小程序
- 参与学习 人
- 提交作业 622 份
- 解答问题 6815 个
微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星