使用以下代码将SVG转换为PNG文件时,文本看起来很糟糕。图像没有缩放,所以我不知道为什么文本的质量如此糟糕。
此外,虽然很难看到,但PNG中的文本似乎是一些serif字体,而SVG中的文本是sans-serif。
编辑:我刚注意到特殊的字符似乎在“Kreuzworträtsel”这个词中搞砸了。
我该怎么做才能解决问题?
$image = new Imagick();
$image->setResolution(288, 288);
$image->readImageBlob($svg);
$image->setImageformat('png24');
header('Content-Type: image/png');
echo $image->getImageBlob();
这是SVG:https://www.dropbox.com/s/22hewf59cmcv92k/SVG.svg?dl=0
这是已转换的PNG:https://www.dropbox.com/s/c5mihvmmlyu9kx8/PNG.png?dl=0
在缩小版本中很难看到质量问题,请查看上面的链接。
Imagick::getVersion()
返回ImageMagick 6.8.9-7 Q16 x86_64 2015-04-09 http://www.imagemagick.org。
答案 0 :(得分:0)
你几乎肯定会使用一个有错误的转换器。
使用您的代码和源图像我使用Ghostscript版本8.70将图像转换为ImageMagick将用于实际转换的“解码委托”。
您应该尝试升级实际使用的任何委托。如果您使用的是Ghostscript,我建议尽可能升级到9.x版本,因为它还有许多其他错误修复。
答案 1 :(得分:0)
我认为,SVG仅指Verdana
字体。使用以下方法检查您的ImageMagick系统是否知道该字体:
identify -list font | more
或
identify -list font | grep -i verdana
如果ImageMagick不知道该字体,请参阅我的其他帖子here。