如何在ImageMagick中嵌入远程图像

Dav*_*iss 1 php image imagemagick imagick

我正在尝试使用ImageMagick的iMagick包装器从服务器上未定位的图像生成简单的缩略图。由于某种原因,以下代码在调用时将不显示任何内容:

<?php
   $image = new Imagick("http://kunaki.com/ProductImage.ASP?T=I&ST=FO&PID=PX003Y9EDJ");
   $image->thumbnailImage(100, 0);
   header( "Content-Type: image/jpg" );
   echo $image;
?>
Run Code Online (Sandbox Code Playgroud)

我也曾尝试http://kunaki.com/ProductImage.ASP?T=I&ST=FO&PID=PX003Y9EDJ.jpg无济于事。

根据下面的评论,我也尝试了此操作,但没有结果,但是不确定语法是否正确。

<?php
   $kunaki_image = file_get_contents("http://kunaki.com/ProductImage.ASP?T=I&ST=FO&PID=PX003Y9EDJ");
   $name = tempnam("/tmp", "kunaki");
   $final = file_put_contents($name, $kunaki_image);
   $image = new Imagick($final);
   $image->thumbnailImage(100, 0);
   header( "Content-Type: image/jpg" );
   echo $image;
?>
Run Code Online (Sandbox Code Playgroud)

有没有人有什么建议?

谢谢!

小智 5

我必须对Youtube做同样的事情...您需要将文件路径传递给ImageMagic,而不是file_put_contents实例。

<?php
   $kunaki_image = file_get_contents("http://kunaki.com/ProductImage.ASP?T=I&ST=FO&PID=PX003Y9EDJ");
   $name = tempnam("/tmp", "kunaki");
   file_put_contents($name, $kunaki_image);
   $image = new Imagick($name);
   $image->thumbnailImage(100, 0);
   header( "Content-Type: image/jpg" );
   echo $image;
?>
Run Code Online (Sandbox Code Playgroud)