使用imagick进行png转换

时间:2013-07-09 11:29:06

标签: php imagick

我正在尝试使用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>

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

1 个答案:

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