如何在 Inkscape 中计算没有变换的矩形的 y 坐标?

How to calculate the y coordinate of a rectangle without transforms in Inkscape?

假设我有一个 Inkscape file 具有以下矩形:

我想计算 Inkscape (596.654) 报告的 Y 坐标。

我该怎么做(手动)?

我试过这个:

  1. 页面顶部的 Y 坐标似乎为 744。
  2. 我从该数字中减去 XML 编辑器中矩形的 y 坐标 (417) 及其高度 (37),得到 744 - 417 - 37 = 290

请注意,矩形没有任何变换,也不属于组。

这是您的 SVG 的简化版本,仅包含相关信息:

<svg width="297mm" height="210mm"
     viewBox="0 0 1052.3622 744.09448">
  <g transform="translate(0,-308.26772)">
    <rect x="216.1537" y="417.34927"
          width="385.25827" height="37.859257"
          style="stroke-width:1;"
   />
  </g>
</svg>

不管你怎么想,那里 一个转换(在组中)。

SVG 内部坐标的原点在左上角。而 Inkscape 在左下角显示相对于更正常原点的转换值。显示值还考虑了笔划宽度。

您的矩形(内坐标)绘制于

y = rectY + translateY
  = 417.34927 - 308.26772
  = 109.08155

该页面的高度为 744.09448。所以显示的坐标将是:

y = pageHeight - rectY - rectH - strokeWidth/2
  = 744.09448 - 109.08155 - 37.859257 - 0.5
  = 596.653673