【发布时间】:2018-10-09 14:59:37
【问题描述】:
我想知道如何将文本放在画布中的图像之上。图像需要在画布中,因为它是我的游戏(Breakout)的一部分。我收到了一些文字,但它隐藏在令人讨厌的图像后面。
代码:
<!DOCTYPE html>
<html>
<head>
<title>Breakout</title>
</head>
<body bgcolor="#4d0000">
<p align="center">
<canvas id="canvas" width="1500" height="800" style="border:1px solid #d3d3d3;"></canvas>
</p>
<script>
window.onload = function(){
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
var imageObj = new Image();
imageObj.onload = function(){
context.drawImage(imageObj, 0, 0);
context.font = "40pt Calibri";
context.fillText("BREAKOUT", 625, 100);
};
imageObj.src = 'C:/Users/study/Desktop/Breakout/Images/test3.jpg';
};
</script>
</body>
</html>
【问题讨论】:
-
先画图,再画文字。
-
@FrankerZ 没有区别
-
@FrankerZ 所说的是最好的答案。另一种解决方案是在绘制图像之前将
globalCompositeOperationdeveloper.mozilla.org/en-US/docs/Web/API/… 设置为destination-over。 -
@Rolls_Reus_0wner 显示您的代码。您是否将其放在
.onload()之后而不是该函数中? -
@FrankerZ 函数里怎么放?
标签: javascript html canvas html5-canvas