2012-08-12 13 views
5

Używam klasy php Imagick dla projektuphp funkcja Imagick setGravity nie działa z compositeImage() funkcji

próbuję composite obraz zmieniającej się wagi obrazu

Chodzi o to, Chcę composite obraz docelowy środku lub na środku górnej

używam

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

ale albo setGravity() lub setImageGravity() nie działają.

Proszę pomóc!

+0

Możliwy duplikat [Imagick: ustawienie wagi na pozycji Imagick] (http://stackoverflow.com/questions/5820754/imagick-setting-the-gravity-on-a-imagick-item) – azerafati

Odpowiedz

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

zasadzie to, co robisz jest ustawienie w lewo przesunięcie obrazu do szerokości kontenera, w minus szerokość Twojego złożony obraz, w podzielonej przez dwa, to będzie przesunięcie go na tyle, aby wyśrodkować poziomo. Następnie robisz dokładnie to samo dla wysokości i jest on wyśrodkowany w pionie.

miałem ten sam rodzaj problemu, najlepiej mogę zrozumieć ustawienia Gravity zastosowanie wyłącznie do kontekstów rysunek, tj Tekst adnotacje

Powiązane problemy