这里想象力适用于存储在服务器中的图像..但我不知道如果我用$ paths数组替换远程网址
$background = new Imagick('back.jpg');
$paths = array(
"img/1.jpg",
"img/2.jpg",
"img/3.jpg",
"img/4.jpg",
);
$images = new Imagick($paths);
foreach($images as $image){
$image->thumbnailImage($width, NULL);
$background->compositeImage($image, Imagick::COMPOSITE_OVER, $x ,$y );
}
答案 0 :(得分:5)
尝试使用file_get_contents和file_put_contents暂时将图像存储在本地服务器上:
<?php
$remote_image = file_get_contents("http://foo.com/remote_image.jpg");
file_put_contents("/tmp/remote_image.jpg", $remote_image);
$image = new Imagick("/tmp/remote_image.jpg");
?>
答案 1 :(得分:0)
我知道它已经很旧了,但为了记录起见,这是一种无需保存到磁盘的更好方法:
$image_url = 'http://example.com/input.jpg';
$imageBlob = file_get_contents($image_url);
$imagick = new Imagick();
$imagick->readImageBlob($imageBlob);
header("Content-Type: image/jpeg");
echo $imagick->getImageBlob(); //for animated gifs - getImagesBlob()