2017-08-04 51 views
0

我想在PHP中使用下面的ImageMagick的SSH命令:轉換ImageMagick的命令到PHP相當於

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() 
+1

什麼是 「PHP相當於」? PHP與exec()或Imagick(PHP/Imagemagick API)。 – Bonzo

+0

是否有任何** code **嘗試可以分享? – BlitZ

回答

0

你可以用包裹的bash叫它命令反引號,你也可以使用PHP的執行

`convert image_name.jpg -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace RGB image_name.jpg` 
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"); 
0

正確答案是:

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

這可能是「正確」的答案,但我問你是否要使用Imagick或Imagemagick。 – Bonzo