PHP Imagick конвертировать SVG для изображения проблемы
Я не смог понять, почему я не могу сделать преобразование из SVG в изображение.
система:
Windows 2008 Server
II7
PHP 5.3.10- Imagick is installed
Код
$command = 'C:\imagemagick\convert.exe d:\path-to-svg-file\sample.svg d:\path-to-output-folder\sample.png 2>&1';
exec($command, $output);
ОШИБКА
array(2) {
[0]=> string(102) "convert.exe: Must specify image size `C:/Windows/TEMP/magick-PY5hNkFu' @ error/mvg.c/ReadMVGImage/185."
[1]=> string(126) "convert.exe: no images defined `d:\inetpub\...\output\sample.png' @ error/convert.c/ConvertImageCommand/3044."
}
2 ответа
Решение
Вы должны указать размер:
convert -size 568x604 d:\tiger.svg d:\tiger.jpg
Как насчет SVG для других форматов изображений
convert file.svg file.png
Я пытался конвертировать в PNG, но у меня была та же проблема, что и с JPG
SVG изображения являются векторами. У них нет присущих размеров, просто указание на то, какие линии рисовать и где. imagemagic хочет, чтобы вы указали размер целевого изображения в пикселях, которое оно должно сгенерировать для вас. это должно сделать изображение 100x100? 999,999,999x999,999,999? Ничего из этого не включено в подробности svg, поэтому вы должны предоставить его.