Imagick将SVG转换为PNG-颜色由黑色和白色替换


Imagick convert SVG to PNG - colors replaced by black and white

我正在尝试转换SVGGraph库创建的SVG图像(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作为输出格式,但结果是一样的,所有颜色都会被黑色取代

有人知道怎么解决这个问题吗?

试试这个方法:

$im = new Imagick();
$im->setBackgroundColor(new ImagickPixel('transparent'));
$im->readImageBlob($svgFile);
$im->setImageFormat("png24");
$im->writeImage('cylinder.png');
$im->clear();
$im->destroy()