从一堆坐标中生成SVG文件



我有一个文本文件,其中包含由x和y中的4个顶点坐标定义的许多矩形。有什么方法我可以轻松地生成一个绘制所有这些矩形的SVG文件,以便我可以在诸如Inkscape或浏览器之类的查看器中打开它以查看布置。理想情况下,如果可以用50%的透明度绘制矩形,以便我看到重叠,那真的很棒。

任何帮助将不胜感激。

谢谢

您可以使用尴尬或gawk ...

假设您的坐标文件看起来像这样(coords.txt):

5,3,20,12
15,8,27,22
8,2,12,8

您可以使用尴尬将其变成SVG ...

(script.awk)

BEGIN {print "<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">"}
  {print "<rect x=""$1"" y=""$2"" width=""$3-$1"" height=""$4-$2"" fill="rgb("int(rand()*255)","int(rand()*255)","int(rand()*255)")" opacity="0.5"/>" }
END {print "</svg>"}

要调用脚本,运行

awk -F "," -f script.awk coords.txt > rects.svg

输出看起来像这样:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
    <rect x="5" y="3" width="15" height="9" fill="rgb(60,74,215)" opacity="0.5"/>
    <rect x="15" y="8" width="12" height="14" fill="rgb(38,149,49)" opacity="0.5"/>
    <rect x="8" y="2" width="4" height="6" fill="rgb(206,44,123)" opacity="0.5"/>
</svg>

最新更新