2012-08-12 17 views
5

compositeImage() Estoy usando php class Imagick para un proyectophp función imagick setGravity no funciona con la función

trato de una imagen compuesta de cambiar la gravedad de la imagen

Lo que quiero decir es , la imagen de destino Quiero compuesto a medio o a la parte superior central

utilizo

.... 
$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); 
.... 

Pero de cualquier setGravity() o setImageGravity() funciones no funcionan.

Por favor ayuda!

+0

Posible duplicado de [Imagick: Configuración de la gravedad en un elemento Imagick] (http://stackoverflow.com/questions/5820754/imagick-setting-the-gravity-on-a-imagick-item) – azerafati

Respuesta

8
$imageOrg->compositeImage($over, Imagick::COMPOSITE_DEFAULT, (((($imageOrg->getImageWidth()) - ($over->getImageWidth())))/2), (((($imageOrg->getImageHeight()) - ($over->getImageHeight())))/2)); 

Básicamente lo que estamos haciendo es establecer el ancho de su imagen compuesta desplazamiento de la imagen a la anchura de su contenedor izquierda, menos, dividido por dos, esto compensará lo suficiente como para centrar horizontalmente. Luego haces exactamente lo mismo para la altura, y se centra verticalmente.

que tenían el mismo tipo de problema, mejor que puedo calcular los ajustes de gravedad sólo se aplican a los contextos de dibujo, es decir: texto, anotaciones

Cuestiones relacionadas