gpt4 book ai didi

Javascript - 在文本上显示图像

转载 作者:行者123 更新时间:2023-11-30 17:43:14 25 4
gpt4 key购买 nike

代码运行没有错误,但我遇到的问题是因为“.onLoad”函数使其在文本已经显示在屏幕上后显示。我面临的问题是我希望文本(加载图形和加载变量)显示在图像上。

代码在这里:

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml1-transitional.dtd">
<html>
<body>
<canvas id="ctx" width="800" height="500" style="border:1px solid #d3d3d3;"></canvas>

<script>
var ctx = document.getElementById("ctx").getContext("2d");

var canvas = document.getElementById('ctx');
var context = canvas.getContext('2d');
var imageObj = new Image();
imageObj.onload = function(){
context.drawImage(imageObj,0,0);
};
imageObj.src = 'img/startscreen.jpg';

ctx.fillText('Loading variables.',50,50);
character=new Object();
character.hp=1;
character.name=null;
ctx.fillText('Loading graphics..',50,100);
</script>

</body>
</html>

最佳答案

我会将背景图像分层放置在位于文本层后面的自己的 Canvas 上。然后您可以清除和更新文本层,而无需重新绘制背景图像。

#background,#overlay {
position: absolute;
}

<canvas id="background"></canvas>
<canvas id="overlay"></canvas>

var can = document.getElementById('overlay'),
bg_can = document.getElementById('background'),
height = can.height = bg_can.height = 500,
width = can.width = bg_can.width = 500,
ctx = can.getContext('2d'),
bctx = bg_can.getContext('2d');

var img = new Image();
img.src = ' ... ';
img.onload = init;

function init() {
// draw the background
bctx.drawImage(this, 0, 0);
// draw your initial text
updateText('hello world');
// other stuff that is going to take time
updateText('done');
}

function updateText(msg) {
ctx.clearRect(0, 0, width, height);
ctx.fillText(msg, 50, 100);
}

为了重用目的,这不是经过深思熟虑的(我的代码示例)。但我不太了解您的其他需求 :) 希望这会有所帮助。

关于Javascript - 在文本上显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20636959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com