画布中`drawImage()`的参考点是什么?

时间:2012-03-06 04:58:24

标签: javascript canvas

这是关于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”......它是将它放在图像的左角到位置还是它的中间?

如果它确实使用了左角,我如何更改它以便根据图像的中心放置它?

1 个答案:

答案 0 :(得分:1)

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

是的,drawImage将从左上角开始绘制。

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

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

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

相当于从左上角绘制。