是否有可能以某种方式在初始化时将图像资源传递给Imagick
类而不是传递文件名?例如:
$imageResource = imagecreatefromjpeg('test.jpg');
$imagegickObj = new Imagick($imageResource);
因为我有一个使用GD
库操作图像的类。我也需要Imagick
类的一些功能。因此,图像一旦打开就会很棒
可以作为资源传递给init上的Imagagick
类。
我们将不胜感激。
答案 0 :(得分:2)
短版,没有。资源只是GD在内存时用来存储图像的底层程序数据结构。没有办法直接将它传递给Imagick,让它将其作为图像打开。
理论上你可以使用imagepng()函数输出它作为PNG,用输出缓冲区捕获它,然后将它提供给Imagick,但这有点傻。只需将它写入临时PNG *文件然后重新读取它几乎肯定会更好。或者将您当前的库转换为使用Imagick无处不在。
*请勿使用JPEG - 因为它是一种有损格式,您将失去图像质量。