以cm为单位绘制SVG路径和多边形

时间:2015-06-12 14:54:38

标签: svg

我想在svg中以cm为单位绘制多边形和路径元素,而不是像素(默认选项)。我能够在数字之后添加cm的行和矩形,但是以下的svg代码不起作用:

<svg width="70cm" height="70cm">
<polygon points="1cm,1cm  2.5cm, 1cm  3cm, 13cm  1cm, 13cm"
    style="stroke: #000099;
     fill: #3333cc;
     fill-opacity: 1;
     "  
     />
</svg>

路径相同。有谁知道如何解决这个问题?

更新:我尝试使用不同的屏幕,使用inkscape或Chrome阅读svg文件。我在屏幕上测量了cm,因为我想要绘制的形状的真实世界cm。这里有令人费解的结果:

<svg width="20cm" height="20cm" viewBox="0 0 20 20" >
  <polygon points='1,1  2.5,1  3,10  1,10'
    style="stroke: #000000; fill:none;"/>
</svg>

macbook air screen,每英寸118像素:多边形从来都不是真正的尺寸,总是更小,无论是inkscape还是Chrome 在另一个屏幕上,每英寸166像素,Chrome中的测量值是可以的,但在Inkscape中没有。如果我尝试导入SVG编辑,则相同。

有人知道Inkscape有什么问题吗?

谢谢

1 个答案:

答案 0 :(得分:5)

你不能直接。但是,文档(W3C)中的(计算机科学总是存在):

  • 多边形中的点以用户坐标系
  • 表示
  • &#34;1厘米&#34;等于&#34; 35.43307px&#34; (因此35.43307用户单位)

所以我建议你为你的多边形添加一个转换来进行转换并省略&#39; cm&#39;在点列表中:

.aggregate()