如何获取在HTML5画布上绘制的图像的X/Y值?

如何获取在HTML5画布上绘制的图像的X/Y值?,html,image,canvas,Html,Image,Canvas,假设我在画布上绘制了一幅图像,如下所示: myImage = new Image(); canvasContext.drawImage(myImage, 50, 50); myImage.src = "foo.png" 如何在画布上获取myImage的X/Y值 在画布上绘制图像或任何其他形状时,它只会与其他像素混合,画布不知道您刚才在何处绘制了什么 为了跟踪它的绘制位置,您需要使用对象数组等来维护它: function CanvasImage(img, x, y) { this.ima

假设我在画布上绘制了一幅图像,如下所示:

myImage = new Image();
canvasContext.drawImage(myImage, 50, 50);
myImage.src = "foo.png"

如何在画布上获取
myImage
的X/Y值

在画布上绘制图像或任何其他形状时,它只会与其他像素混合,画布不知道您刚才在何处绘制了什么

为了跟踪它的绘制位置,您需要使用对象数组等来维护它:

function CanvasImage(img, x, y) {
    this.image = img;
    this.x = x;
    this.y = y;
    this.draw = function(ctx) {
        ctx.drawImage(img, x, y);
    }
    return this;
}
现在,您可以通过执行以下操作来跟踪图像的绘制位置:

var myImages = [];
var myCanvasImage = new CanvasImage(img, 50, 50);

myImages.push(myCanvasImage);

myCanvasImage.draw();
当您需要图像的坐标时,可以遍历数组并读取x和y。如果您有多个图像,id可能是一件好事,或者您可以使用图像的src属性来标识您正在处理的图像(如果您在画布上多次绘制同一图像,id会更好)

还要记住在onload事件中处理图像,以确保图像已正确加载:

myImage = new Image();
myImage.onload = function() {
    /// continue here...
}
myImage.src = "foo.png";

当您在画布上绘制图像或任何其他形状时,它只是与其他像素混合在一起,画布不知道您刚才在哪里绘制了什么

为了跟踪它的绘制位置,您需要使用对象数组等来维护它:

function CanvasImage(img, x, y) {
    this.image = img;
    this.x = x;
    this.y = y;
    this.draw = function(ctx) {
        ctx.drawImage(img, x, y);
    }
    return this;
}
现在,您可以通过执行以下操作来跟踪图像的绘制位置:

var myImages = [];
var myCanvasImage = new CanvasImage(img, 50, 50);

myImages.push(myCanvasImage);

myCanvasImage.draw();
当您需要图像的坐标时,可以遍历数组并读取x和y。如果您有多个图像,id可能是一件好事,或者您可以使用图像的src属性来标识您正在处理的图像(如果您在画布上多次绘制同一图像,id会更好)

还要记住在onload事件中处理图像,以确保图像已正确加载:

myImage = new Image();
myImage.onload = function() {
    /// continue here...
}
myImage.src = "foo.png";