图像魔术创建缩略图


Image Magick create thumbnail

嗨,我正在使用imagemagick通过以下命令创建缩略图

 convert -define jpeg:size=".$this->info[0]."x".$this->info[1]."  testi/".$this->filename."  -auto-orient  -thumbnail 200x200   -unsharp 0x.5 testi/".$this->filename

但此命令仅对 jpack 输入文件运行。

谁能告诉我任何文件类型的命令? 就像如果 gif 那么输出应该 gif ?

这是代码:

<?php 
// read page 1 
$im = new imagick( 'test.pdf' );
// convert to jpg 
$im->setImageColorspace(255); 
$im->setCompression(Imagick::COMPRESSION_JPEG); 
$im->setCompressionQuality(60); 
$im->setImageFormat('jpeg'); 
//resize 
$im->resizeImage(290, 375, imagick::FILTER_LANCZOS, 1);  
//write image on server 
$im->writeImage('thumb1.jpg'); 
$im->clear(); 
$im->destroy(); 
?>

什么是 jpack 文件?

-define 仅适用于 jpg 文件,

但我认为如果输出文件不是 jpg,它将被忽略; 尝试删除它。

输出文件应与输入文件同名。

尝试像这样编写代码,以便您可以看到命令的实际内容;您可以在回显工作时将其注释掉。

$cmd = "-define jpeg:size={$this->info[0]}x{$this->info[1]}  testi/{$this->filename}  -auto-orient -thumbnail 200x200 -unsharp 0x.5 testi/{$this->filename}"; 
echo $cmd;
exec("convert $cmd");

我对"$this->"业务有点迷茫,因此代码可能无法按编写的方式工作。我尝试在我的命令中保持简单,并将文件名等放入 Imagemagick 命令之外的变量中。