在初始化时将图像资源传递给Imagick类

时间:2014-05-02 06:57:05

标签: php gd imagick

是否有可能以某种方式在初始化时将图像资源传递给Imagick类而不是传递文件名?例如:

$imageResource = imagecreatefromjpeg('test.jpg');
$imagegickObj = new Imagick($imageResource);

因为我有一个使用GD库操作图像的类。我也需要Imagick类的一些功能。因此,图像一旦打开就会很棒 可以作为资源传递给init上的Imagagick类。

我们将不胜感激。

1 个答案:

答案 0 :(得分:2)

短版,没有。资源只是GD在内存时用来存储图像的底层程序数据结构。没有办法直接将它传递给Imagick,让它将其作为图像打开。

理论上你可以使用imagepng()函数输出它作为PNG,用输出缓冲区捕获它,然后将它提供给Imagick,但这有点傻。只需将它写入临时PNG *文件然后重新读取它几乎肯定会更好。或者将您当前的库转换为使用Imagick无处不在。

*请勿使用JPEG - 因为它是一种有损格式,您将失去图像质量。