我正在尝试使用imagick将svg转换为png图像,但它显示为空白, 我的想象力代码是
<?php
$im = new Imagick();
$im->setBackgroundColor(new ImagickPixel('transparent'));
$svg = file_get_contents("new_old.svg");
$im->readImageBlob($svg);
$im->setImageFormat("png32");
header('Content-type: image/png');
echo $im;
?>
我的svg图片的代码是
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="282" height="504" xmlns:xlink="http://www.w3.org/1999/xlink">
<image id="4" preserveAspectRatio="none" x="27" y="132" width="238" height="453" xlink:href="http://asia.olympus-imaging.com/products/dslr/e520/sample/images/thumb_01.jpg"/>
</svg>
任何人都可以为这些问题提供解决方案。
答案 0 :(得分:0)
快速猜测你必须设置DPI
<?php
$im = new Imagick();
$im->setResolution(300, 300); // for 300 DPI example
更多信息:http://www.php.net/manual/en/imagick.setresolution.php#95533