这是关于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 :(得分:1)
画布坐标系从左上角的(0,0)
开始(source)。
是的,drawImage
将从左上角开始绘制。
您可以使用图片的中心进行绘制,只需将其偏移width/2
和height/2
。
所以如果你有一个中心点p
,
drawImage(image, p.x - image.width/2, p.y - image.height/2)
相当于从左上角绘制。