2012-04-12 10 views
0

Ich habe ein Polygon mit Koordinaten erzeugt, welches in einem ImagickDraw Objekt gespeichert ist. Ich möchte ein paar Kopien des Objekts drehen und sie dann an verschiedenen Positionen auf mein Bild zeichnen.ImageMagick Draw Koordinaten übersetzen

Ich benutze imagick 3.1.0rc1 und ImageMagick 6.7.6-5.

Hier ist, was ich verwende:

$sprite = new ImagickDraw(); 
$sprite->polygon($coords) //array of coordinates 

$sprite->rotate(-90); //Doesn't seem to rotate 
$sprite->translate($x, $y); //Doesn't seem to translate 

$im->drawImage($sprite); 

Das Problem ist, dass aus irgendeinem Grund, rotate und translate nichts tut. Mache ich etwas falsch? Oder tut rotate und translate nicht tun, was ich denke, es ist zu tun?

Antwort

0

Scheint wie übersetzen war nicht der Weg, es zu tun.

Ich endete die Generierung des Sprite in einem neuen ImagickDraw Objekt und zog es dann auf mein Hauptbild unter Verwendung compositeImage() in die richtige Position.

0

Nur für die Aufzeichnung, müssen Sie die Rotation/Übersetzung vor Sie die Zeichnung anwenden.