gpt4 book ai didi

php - 如何将大型 SVG 文件转换为平铺的 PNG?

转载 作者:IT王子 更新时间:2023-10-29 00:46:00 26 4
gpt4 key购买 nike

我有一个很大的 SVG 文件(大约 60 MB,10000x10000 像素,但有可能变得更大),我想从中创建许多平铺的 256x256 PNG 图像(在那个例子中会有为 1600 张图片;round(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——内存使用没有问题(只是需要很长时间!)

最佳答案

inkscape具有导出 png 的命令行模式,采用可选参数来选择要导出的区域

inkscape vector.svg --export-png=raster.png --export-area=0:0:100:100

关于php - 如何将大型 SVG 文件转换为平铺的 PNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3121921/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com