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

时间:2016-06-28 10:44:09

标签: svg inkscape

想象一下,我有一个Inkscape file,其中包含以下矩形:

Screenshot

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

我该怎么做(手动)?

我试过了:

  1. 页面顶部的Y坐标似乎为744。
  2. 我从该编号中减去XML编辑器(417)中矩形的y坐标及其高度(37)并得到744 - 417 - 37 = 290
  3. 请注意,矩形没有任何变换,也不属于某个组。

1 个答案:

答案 0 :(得分:2)

以下是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。所以显示的ccoordinate将是:

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