嗨,我正在使用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 命令之外的变量中。