0

嗨,我正在通过以下命令使用 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 那么输出 shuld gif 一样?

4

2 回答 2

3

这是代码:

<?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(); 
?>
于 2012-05-15T13:03:51.730 回答
2

什么是一 .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 命令之外的变量中。

于 2012-05-15T15:45:19.783 回答