我有一个可以在命令行上运行的命令,以使用 Imagemagick 倾斜移动图像:
convert \( myimage.jpg -gamma 0.75 -modulate 100,130 -contrast \) \( +clone -sparse-color Barycentric "0,0 black 0,%h white" -function polynomial 4,-4,1 -level 0,50% \) -compose blur -set option:compose:args 5 -composite myimage.jpg
我希望能够使用 PHP 的 imagemagick 库重现此命令的效果。该命令的第一部分很容易重现,但我在弄清楚稀疏颜色及其后面的参数时遇到了困难。到目前为止我已经:
$image = new imagick("myimage.jpg")
$image->gammaImage(0.75);
$image->modulateImage(100,130,100);
$image->contrastImage(1);
谢谢!
最佳答案
祝你好运 Vijay - 我建议你坚持使用 exec()
无论如何,我只是尝试了一下,我的代码如下;您可以看到我所做的一些更改,并因行上的错误而放弃: $new->functionImage ( FUNCTION_POLYNOMIAL, $functionImagearray );
// Did not like the %h
// $sparseColorarray = array( 0, 0, black, 0, %h, white );
$sparseColorarray = array( 0, 0, black, 0, 20, white );
$functionImagearray = array( 4, -4, 1 );
$image = new imagick("output3.jpg");
$image->gammaImage(0.75);
$image->modulateImage(100,130,100);
$image->contrastImage(1);
//$new = $image->clone();
$new = clone $image;
$new->sparseColorImage( Imagick::SPARSECOLORMETHOD_BARYCENTRIC, $sparseColorarray );
$new->functionImage ( Imagick::FUNCTION_POLYNOMIAL, $functionImagearray );
// Did not like the %
// $new->levelImage( 0, 50% );
$new->levelImage( 0, 50 );
// Can not find any options for this blur
$image->setImageCompose ( BLUR );
$image->setOption( args, 5);
$image->compositeImage( $new, COMPOSITE_BLEND, 0, 0 );
$image->writeImage( "tilt.jpg" );
$image->destroy();
阅读文档并遵循示例代码,这就是我想到的。我也找不到任何 $image->setImageCompose ( BLUR );
的选项看看你能否让它发挥作用会很有趣。
刚刚发现我的 Imagick 版本对于 functionImage 来说太旧了
更改了 $new->functionImage 行
关于php - 在 PHP 中使用 ImageMagick 倾斜移动图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11108004/