我对整个ImageMagick PHP库都很陌生。我需要使用ImageMagick将此函数移植到PHP:
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
或将提供此输出的内容:
我不能像往常一样使用shell_exec
因为我在Google App Engine上运行而且我认为该功能没有启用。
有没有更简单的方法来获得理想的结果?我也想模糊它,但我想我可以把它弄清楚。
编辑:在命令行上找到了更好的方法。希望这有助于转换为PHP?
答案 0 :(得分: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');