将ImageMagick命令转换为PHP等效命令

时间:2017-08-04 08:25:53

标签: php ssh imagemagick

我希望在PHP中使用以下ImageMagick SSH命令:

convert image_name.jpg -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace RGB image_name.jpg

所以php ImageMagick版本使用:

$image = new Imagick('test.jpg');
$image->Functionhere()

3 个答案:

答案 0 :(得分:0)

你可以用反引号包装bash命令来调用它,你也可以使用php的exec

`convert image_name.jpg -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace RGB image_name.jpg`

答案 1 :(得分:0)

我想首先要检查你是否有权使用imagick:

$version = Imagick::getVersion(); 
echo 'API version number: '.$version['versionNumber'].'<br />'; 
echo 'API version string: '.$version['versionString'].'<br />'; 

我不喜欢Imagick,因为没有它的支持。它不支持Imagemagick的所有选项。这是一个类,我从来没有必要学习如何使用类,因此它比exec()更复杂。

很多人说的一件事是Imagick比Imagemagick更安全;但只要你对用户数据采取预防措施,我就会认为exec()几乎是安全的。

exec( "convert image_name.jpg -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace RGB image_name.jpg" );

答案 2 :(得分:0)

正确答案是:

$im = new Imagick( $old_file );
$im->setImageCompression( Imagick::COMPRESSION_JPEG );
$im->stripImage();
$im->setSamplingFactors(array('2x2', '1x1', '1x1'));
$im->setCompressionQuality('85');