У меня большой SVG-файл (около 60 МБ, 10000x10000 пикселей, но с потенциалом для увеличения), и я хочу создать, скажем, много плиточных 256x256 PNG-изображений из него (в этом примере было бы быть 1600 изображений; раунд (10000/256) ^ 2).
Кто-нибудь имеет представление о том, как сделать это на веб-сервере (помимо прочего, с использованием PHP)? Я думал о rsvg, но, похоже, у него нет никаких функций для изменения ограничивающей рамки (и я бы предпочел не делать это вручную для каждого раздела). Возможно, ImageMagick сможет это сделать, но мне не очень повезло с тем, чтобы заставить его работать. Использование rsvg для создания большого PNG, а затем использование инструмента, предназначенного для мозаичного изображения очень больших изображений, может сработать, но мне не повезло найти такую вещь! Скорость на самом деле не проблема, хотя это и желательно, поэтому, если худшее дойдет до худшего, я мог бы посмотреть на изменение ограничивающего прямоугольника SVG для каждого раздела. Впрочем, я мог видеть, что поколение берет навсегда!
Кто-нибудь знает какие-либо способы сделать это?
Изменить 2016-03-02:
Недавно я снова вернулся к необходимости ответа на этот вопрос, и Inkscape, по-видимому, является единственным инструментом, который может визуализировать SVG для заданной области при заданных размерах (svgexport
почти соответствует этим требованиям, но это не позволяет вам изменить соотношение сторон).
Моя цель состояла в том, чтобы разбить SVG на плитки размером 256x256, и теперь я успешно создал скрипт, который может разбивать произвольно большие SVG, выполняя повторные рендеринг в inkscape
размером около 16 000 x 16 000 и разбивая получающиеся изображения на фрагменты. Я успешно рендерил SVG с размерами более 500 000 x 500 000 пикселей - никаких проблем с использованием памяти (это занимает много времени!)