php imagick setGravity函数不能与compositeImage()函数一起使用

Onu*_*ece 6 php imagemagick gravity imagick

我正在使用php Imagick类进行项目

我尝试合成一个改变图像重力的图像

我的意思是,我想将目标图像合成到中间或顶部中心

我用

....
$imageOrg->setGravity(imagick::GRAVITY_CENTER); //I wrote this for an example, position will be set by the visitor
$imageOrg->compositeImage($over, Imagick::COMPOSITE_DEFAULT, 0, 0);
....
Run Code Online (Sandbox Code Playgroud)

但是setGravity()或setImageGravity()函数都不起作用.

请帮忙!

小智 12

$imageOrg->compositeImage($over, Imagick::COMPOSITE_DEFAULT, (((($imageOrg->getImageWidth()) - ($over->getImageWidth())))/2), (((($imageOrg->getImageHeight()) - ($over->getImageHeight())))/2));
Run Code Online (Sandbox Code Playgroud)

基本上你正在做的是将图像的左偏移量设置为容器的宽度,减去合成图像的宽度除以2,这将使其偏移到水平居中.然后你对高度做同样的事情,它是垂直居中的.

我遇到了同样类型的问题,最好我可以将重力设置仅适用于绘图上下文,即:文本,注释