我有一个大的 SVG 文件(大约 60 MB,10000x10000 像素,但有可能变得更大),我想从中创建许多平铺的 256x256 PNG 图像(在该示例中将有 1600 张图像; 圆形(10000/256)^2)。
有谁知道如何在 Web 服务器上执行此操作(运行 PHP 等)?我考虑过 rsvg,但它似乎没有任何修改边界框的功能(我宁愿避免为每个部分手动进行)。ImageMagick 可能能够做到,但我一直没有让它工作的运气。使用 rsvg 创建一个大的 PNG,然后使用专用于平铺非常大的图像的工具可能会起作用,但我没有找到这样的东西!速度并不是真正的问题,尽管它是可取的,所以如果最坏的情况出现在最坏的情况下,我可能会考虑修改每个部分的 SVG 边界框。不过,我可以看到这一代人永远消失了!
任何人都知道这样做的任何方法吗?
编辑 2016-03-02:
我最近再次回到需要这个问题的答案,Inkscape 似乎是唯一可以在给定尺寸下为给定区域渲染 SVG 的工具(svgexport
几乎满足这些要求,但它不允许您更改纵横比) .
我的目标是将 SVG 平铺成 256x256 的平铺,现在我已经成功地制作了一个脚本,该脚本可以通过重复渲染inkscape
大约 16,000 x 16,000 并平铺生成的图像来平铺任意大的 SVG。我已经成功渲染了尺寸超过 500,000 x 500,000 像素的 SVG——内存使用没有问题(只是需要很长时间!)