0

我正在尝试使用 imagick 将 svg 转换为 png 图像,但它显示为空白,我的 imagick 代码是

<?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>

任何人都可以为这些问题提供解决方案。

4

1 回答 1

0

只是快速猜测您必须设置 DPI

<?php
$im = new Imagick();
$im->setResolution(300, 300); // for 300 DPI example

更多信息:http ://www.php.net/manual/en/imagick.setresolution.php#95533

于 2013-07-09T11:56:16.043 回答