我有一个包含100列和100行的网格。我想在其中一个网格方格的中心和另一个网格方格之间划一条线,比如45,25到75,38。
我很高兴能够绘制一条线,但我怎样才能找到两个网格方块中心的x和y pos?还是有一个我错过的更好的方法
答案 0 :(得分:0)
该行中心的坐标为(center_x, center_y)
,其中:
center_x = x1 + (x2 - x1/2)
center_y = y1 + (y2 - y1/2)
x2 > x1
和y2 > y1
。
所以对你的例子来说:
center_x = 45 + ((75 - 45) / 2)
center_y = 25 + ((38 - 25) / 2)
HTH。
答案 1 :(得分:0)
您的演示文稿应与您定义的网格一起使用。似乎问题是您尝试加入的事物的表示不以您指定的网格位置为中心。你的线应该从45,25到75,38。如果看起来没有从中心绘制,则在45,25和75,38处绘制的东西不会绘制在网格位置的中心。
如果您的显示器是基于网格的,那么从理论上的45,25位置找到屏幕网格的中心将是这样的:
screenXcentre = ((xPos-1)*CellWidth)-(CellWidth/2);
screenYcentre = ((yPos-1)*CellHeight)-(CellHeight/2);