如何在 Inkscape 中计算没有变换的矩形的 y 坐标?
How to calculate the y coordinate of a rectangle without transforms in Inkscape?
假设我有一个 Inkscape file 具有以下矩形:
我想计算 Inkscape (596.654
) 报告的 Y 坐标。
我该怎么做(手动)?
我试过这个:
- 页面顶部的 Y 坐标似乎为 744。
- 我从该数字中减去 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
假设我有一个 Inkscape file 具有以下矩形:
我想计算 Inkscape (596.654
) 报告的 Y 坐标。
我该怎么做(手动)?
我试过这个:
- 页面顶部的 Y 坐标似乎为 744。
- 我从该数字中减去 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