Image Magick创建缩略图

时间:2012-05-15 12:50:19

标签: php imagemagick

您好我正在使用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?

2 个答案:

答案 0 :(得分: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(); 
?>

答案 1 :(得分: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-&gt;”感到有点失落业务,因此代码可能无法正常工作。我尝试在命令中保持简单,并将文件名等放入Imagemagick命令之外的变量中。