PHP中的Imagick没有创建图像

时间:2016-04-25 10:10:32

标签: php imagick

我无法在PHP中使用Imagick来创建图像。这些函数都存在,但填充Imagick对象的函数不起作用。 请看以下代码段:

<?php
    $img = new Imagick();
    $img->newImage(100, 80, new ImagickPixel("red"));
    var_dump($img);
?>

输出结果为:

object(Imagick)#1 (0) {
}

var_dump($img->getSize())的输出是:

Array
(
    [columns] => 0
    [rows] => 0
)

所以关键是我测试的所有图片创建功能(例如newImage($x, $y, $color)readImage($filename)等)都没有任何效果,即使他们声称通过返回true成功了。错误输出似乎没有报告错误。这一切在GD中运行良好,但我现在想切换到Imagick,因为GD缺乏功能。

这是怎么回事?我是否忘记设置环境变量,调用准备函数,还是我完全误解了如何在PHP中使用Imagick?

1 个答案:

答案 0 :(得分:1)

使用newPseudoImage。

<?php

$img = new Imagick();
$img->newPseudoImage(100, 80, "xc:red");
$img->setImageFormat('png');

var_dump($img->getSize());

echo $img->getImageBlob();

我不知道为什么新图片不起作用 - 我已经为它打开了一个问题,因为你的代码不能正常工作https://github.com/mkoppanen/imagick/issues/148