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

时间:2013-08-26 15:53:16

标签: php image svg imagick svggraph

我正在尝试转换由SVGGraph库(http://www.goat1000.com/svggraph.php)创建的SVG图像。

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 个答案:

答案 0 :(得分:0)

尝试这种方式:

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

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