我希望在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()
答案 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');