Imagick конвертировать SVG в PNG - цвета заменены на черный и белый

Я пытаюсь преобразовать изображение SVG, созданное библиотекой SVGGraph ( http://www.goat1000.com/svggraph.php).

SVG окрашен (красный, зеленый, желтый, серый, ...) в браузере, и все в порядке. Но когда я конвертирую его, он просто черно-белый.

С помощью этого кода я конвертирую его:

//new instance of imagick
$im = new Imagick();
//read the svg file/data (its not saved on the filesystem)
$im->readImageBlob($svgFile);

$im->setImageFormat("png24");
$im->writeImage('cylinder.png');
$im->clear();
$im->destroy();

Я пробовал это с jpeg и png в качестве выходного формата, но результат тот же, все цвета будут заменены на черный

у кого-нибудь есть идеи как это исправить?

1 ответ

Попробуйте так:

$im = new Imagick();
$im->setBackgroundColor(new ImagickPixel('transparent'));
$im->readImageBlob($svgFile);

$im->setImageFormat("png24");
$im->writeImage('cylinder.png');
$im->clear();
$im->destroy()
Другие вопросы по тегам