画布中“drawImage()”的参考点是什么

What is the reference point of `drawImage()` in canvas?

本文关键字:参考 是什么 布中 drawImage      更新时间:2023-09-26

这是一个关于drawImage()函数的问题。

    var x = (i-j)*(img[0].height/2) + (ctx.canvas.width/2)-(img[0].width/2); 
    var y = (i+j)*(img[0].height/4);
    abposx = x + offset_x;
    abposy = y + offset_y;
    ctx.drawImage(img[0], abposx, abposy);

此代码在画布中绘制带有偏移量的图像。我想知道的一件事是"drawImage"。。。它是把它放在图像的左角还是中间?

如果它确实使用了左角,我如何更改它,使其基于图像的中心放置?

画布坐标系从左上角的(0,0)开始(来源)。

是的,drawImage将从左上角开始抽签。

您可以使用图像的中心进行绘制,只需将其偏移width/2height/2即可。

所以如果你有一个中心点p

drawImage(image, p.x - image.width/2, p.y - image.height/2)

相当于从左上角绘制。