readImageFile() 期望参数 1 是一个资源,给定 Imageick 的字符串


readImageFile() expects parameter 1 to be a resource, string given Imageick

我有一堆从aws3链接加载的图像。我将它们放在一个名为 images 的数组中。这样做之后,我正在合并它们,我想调整它们的大小,以便它们很好地显示。但是,当我运行以下代码时:

$remote_image = file_get_contents($imageurls[$i]);
file_put_contents("/tmp/remote_image.jpg", $remote_image);
$img = new Imagick("/tmp/remote_image.jpg");
$img->readImageFile("/tmp/remote_image.jpg");
$img->resizeImage(320,240,Imagick::FILTER_LANCZOS,0);
imagecopymerge($dest, $images[$i], 6, 245, 0, 0, 183, 156, 100); 
$img->destroy();

我收到错误readImageFile expectes parameter to be resource, string given.

如何将合并前后的图像大小调整为imagecopymerge中给出的宽度和高度?

通常,您会为文件创建一个句柄:

...
$image = '/tmp/remote_image.jpg';
$handle = fopen($image, 'rb');
$img = new Imagick();
$img->readImageFile($handle);
...

http://php.net/manual/en/imagick.readimagefile.php