PHP 中的 Imagick 不创建图像
Imagick in PHP doesn't create images
我无法在 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)
等根本没有效果,即使它们声称通过返回 [=18 成功=].错误输出似乎没有报告任何错误。在 GD 中一切正常,但我现在想切换到 Imagick,因为 GD 缺少功能。
所以这是怎么回事?我是否忘记了设置环境变量、调用准备函数,或者我只是完全误解了如何在 PHP 中使用 Imagick?
使用 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
我无法在 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)
等根本没有效果,即使它们声称通过返回 [=18 成功=].错误输出似乎没有报告任何错误。在 GD 中一切正常,但我现在想切换到 Imagick,因为 GD 缺少功能。
所以这是怎么回事?我是否忘记了设置环境变量、调用准备函数,或者我只是完全误解了如何在 PHP 中使用 Imagick?
使用 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