如何在画布上获取具有特定 x,y 位置的特定图像?[关闭]

How to get an specific image on the canvas with a certain x,y position? [closed]

提问人:Police Nguyễn 提问时间:11/12/2023 最后编辑:Tiago RangelPolice Nguyễn 更新时间:11/22/2023 访问量:53

问:


编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将帮助其他人回答这个问题。

9天前关闭。

我想在画布上某个 x,y 位置上获取图像,并在一定时间内将其更改为随机位置。我有图像URl。

我尝试使用drawImage函数,但我遇到了一些错误。

let ordrawimage = CanvasRenderingContext2D.prototype.drawImage;
CanvasRenderingContext2D.prototype.drawImage = function newDrawImage(image, sourceX, sourceY, sourceWidth, sourceHeight, targetX, targetY, targetWidth, targetHeight){
  if (this.canvas.id === 'canvas') {
    if ((image.src == 'https://agma.io/skins/objects/9_lo.png?v=2' || image.src == 'https://agma.io/skins/objects/9.png?v=2')) {
    alert('coins detected');
  }
}

ordrawimage.apply(this,arguments)
}
javascript 画布 html5-canvas

评论

0赞 Tiago Rangel 11/13/2023
这回答了你的问题吗?如何将图像添加到画布

答:

1赞 Tiago Rangel 11/13/2023 #1

我建议你查看本教程。基本上,您可以添加如下图像:

const c = document.getElementById("canvas");
const ctx = c.getContext("2d");

const img = new Image();
img.src = "https://i.ibb.co/nQ7cRPv/image.jpg"; // image url

img.onload = function() {
  ctx.drawImage(img, 10, 10, 200, 100); // 10,10 is the position, 200,100 is the size
  alert("Coins detected"); // the original post was edited
};
<canvas id="canvas" width="250" height="300" style="border:1px solid grey"></canvas>

编辑:我不完全知道如何移动图像,我想您可以擦除画布并重新绘制或使用 GIF。

评论

0赞 Tiago Rangel 11/19/2023
顺便说一句,如果这有助于确保将其标记为“☑️”