用于渲染大型 SVG 文件的程序

用于渲染大型 SVG 文件的程序

我正在尝试查看一个大型 SVG 文件(大约 20 MB)。我尝试使用 batik 中的 squiggle,但它已经渲染了至少 20 分钟,却没有任何结果。一个大小约为其一半的类似文件在不到一分钟的时间内渲染完成。

如果我将其拖到 Chrome 选项卡中,它似乎会呈现它,但尺寸约为 5mm x 5mm,因此看起来像一个实心矩形。 Ctrl-+不会使其变大。

该文件是 graphviz 中的 fdp 生成的图表。有数万个节点,每个节点都填充了大约 8 种颜色和几行文本。有类似数量的箭头连接节点。

什么程序可以很好地渲染这个?我可以使用 Windows 或 Linux。

答案1

Adobe Illustrator可以打开/编辑/保存 SVG。使用 Illustrator CS5,我将 30 MB 的 Illustrator 矢量样本艺术 Blue Mirror.ai 保存为 SVG 1.1(结果文件 56 MB),打开 SVG 文件并成功编辑。Windows 任务管理器显示 Illustrator 的 RAM 使用量为 562 MB RAM(私有工作集)。

答案2

在 2021 年寻找这个问题的答案时,答案似乎仍然是 Chrome(或 Chromium)。

您可以使用Ctrl-F在 SVG 中查找文本。

我不知道为什么Ctrl——+并且Ctrl——-没有给出预期的 Zoom 结果,在 2021 年,运行良好(基于 Debian 9.8 构建的 Chromium 73.0.3683.75,在 Debian 9.13 上运行)。

请注意,Chrome 从图像边界的左上角开始显示,因此图像可能位于右下方。

我已经使用此方法显示了一个 107MB 的 SVG,其中包含 224181 个节点 - 由 python 中的 networkx 生成。

答案3

在浏览器中打开 SVG(我在 Mac 上使用 Safari)然后通过搜索文本进行跳转的想法是可行的。

我有一个 Amazon 节点配置 250kb YAML 文件,其中包含超过 8200 行文本。我使用 yml2dot 将其转换为 SVG。

yml2dot deployment.yml | dot -Tsvg > deployment.svg

这将生成一个 9 MB 的 SVG 文件。该文件在 Illustrator 中打开,但超出了最大显示区域。我只能看到左上角的第一个文本条目。即使选择全部并将其大小缩小 0.05% 也不起作用。

在 Safari 中,我可以看到所有文本和行。全选功能允许我将文本复制到编辑器中。从此文本中,我可以看到要搜索的内容,然后在浏览器中,我可以计算找到的节点的出现次数并从一个节点跳转到另一个节点。

我以为 AutoCad 也许可以工作,但是不行。

Photoshop 将文件渲染为最大 32,000 x 32,000 像素,但该区域为白色。

Inkscape 不工作。

Boxy 运行良好,可以立即打开文件,然后我可以放大、缩小和滚动。编辑似乎是不可能的,旋转的死亡之轮意味着强制退出应用程序。

SVG Maker 运行良好,可以立即打开文件,即使在高度缩小的视图下,线条也更黑,并且抗锯齿功能较差,导致线条太细。

相关内容