问题:
我怎样才能考虑到屏幕的矩形形状,以确保圆被精确地画到填充边界?
以下适用于“圆形”区域,但不适用于矩形区域…

dx = abs(center.x - place.x);
dy = abs(center.y - place.y);
dh = Math.sqrt((dx * dx) + (dy * dy));
radius = dh - padding;

光环设计:
如果问题看起来不明显,下面的图片表示我正在使用的当前方法。这取决于这个地方在哪里影响它在屏幕空间中的突出程度。

最佳答案

我认为这应该管用。未测试。

dx = abs(placeLocationPixels.x - ourLocationPixels.x)
dy = abs(placeLocationPixels.y - ourLocationPixels.y)

ox = dx - ((screenSize.x / 2) - padding);
oy = dy - ((screenSize.y / 2) - padding);

if (ox < 0) ox = 0;
if (oy < 0) oy = 0;

radius = sqrt((ox*ox) + (oy*oy));

编辑:这不是用任何特定的语言。

10-08 07:18