我有一个很大的SVG文件(大约60 MB,10000x10000像素,但有可能会更大),我想从中创建许多256x256的PNG图像(例如,在该示例中将有1600个图像;round(10000/256)^2)。
有人知道如何在Web服务器上(运行PHP等其他内容)执行此操作吗?我考虑过rsvg,但它似乎没有修改包围框的任何功能(我宁愿避免为每个部分手动执行此操作)。ImageMagick可能能够实现它,但我一直没有成功地使其工作。使用rsvg创建大型PNG,然后使用专用于平铺非常大的图像的工具可能有效,但我没有找到这样的工具!速度并不是问题,尽管它是理想的,因此如果最坏的情况发生,我可能会考虑按节调整SVG的包围框。不过,我可以看到生成需要相当长的时间!
有人知道如何执行此操作的任何方法吗?
编辑2016-03-02:
我最近再次需要回答这个问题,Inkscape似乎是唯一一个可以呈现给定区域和大小的SVG的工具(
我的目标是将SVG平铺为256x256的瓷砖,并且我现在成功制作了一个脚本,该脚本可以通过在大约16,000 x 16,000中重复渲染
有人知道如何在Web服务器上(运行PHP等其他内容)执行此操作吗?我考虑过rsvg,但它似乎没有修改包围框的任何功能(我宁愿避免为每个部分手动执行此操作)。ImageMagick可能能够实现它,但我一直没有成功地使其工作。使用rsvg创建大型PNG,然后使用专用于平铺非常大的图像的工具可能有效,但我没有找到这样的工具!速度并不是问题,尽管它是理想的,因此如果最坏的情况发生,我可能会考虑按节调整SVG的包围框。不过,我可以看到生成需要相当长的时间!
有人知道如何执行此操作的任何方法吗?
编辑2016-03-02:
我最近再次需要回答这个问题,Inkscape似乎是唯一一个可以呈现给定区域和大小的SVG的工具(
svgexport
几乎符合这些要求,但它不允许更改宽高比)。我的目标是将SVG平铺为256x256的瓷砖,并且我现在成功制作了一个脚本,该脚本可以通过在大约16,000 x 16,000中重复渲染
inkscape
来平铺任意大小的SVG并平铺生成的图像。我已经成功地呈现了尺寸超过500,000 x 500,000像素的SVG - 内存使用没有问题(只需要很长时间!)