2015-04-28 75 views
0

我對整個ImageMagick PHP庫非常陌生。我需要端口使用ImageMagick此功能PHP:轉換語法爲PHP(ImageMagick)

convert staticmap.png -gaussian-blur 10 
    \(-size 300x600 gradient:'rgba(255,255,255,0.9)'-'rgba(255,255,255,0.1)' -rotate 270 \) 
    -gravity north -compose over -composite output.png 

或東西,這將使該輸出:

Gradient Map

我不能用shell_exec像我總是有,因爲我跑在Google App Engine上,我不認爲該功能已啓用。

有沒有更簡單的方法來獲得所需的結果?我也想模糊它,但我想我可以把這一部分弄清楚。

編輯:找到了一種更好的方式在命令行上執行此操作。希望這將有助於轉換爲PHP?

+0

重新格式化命令行 – Matthieu

回答

2

這很容易,因爲所有CLI options直接映射到ImagickMagick

<?php 
/* convert */ 
// staticmap.png 
$staticMap = new Imagick('staticmap.png'); 
// -gaussian-blur 10x0 
$staticMap->gaussianBlurImage(10, 0); 
// -size 300x600 gradient:'rgba(255,255,255,0.9)'-'rgba(255,255,255,0.1)' 
$mask = new Imagick(); 
$mask->newPseudoImage(300, 600, 'gradient:rgba(255,255,255,0.9)-rgba(255,255,255,0.1)'); 
// -rotate 270 
$mask->rotateImage('black', 270); 
// -gravity north 
$staticMap->setGravity(Imagick::GRAVITY_NORTH); 
// -compose over -composite 
$staticMap->compositeImage($mask, Imagick::COMPOSITE_OVER, 0, 0); 
// output.png 
$staticMap->writeImage('output.png'); 

Convert convert syntax to PHP