Gibt es eine Möglichkeit, GD Funktion imagefilledarc()
's Ergebnis in PHP ImageMagick zu bekommen? Ich habe mich umgesehen, aber bis jetzt keine befriedigende Lösung gefunden. Ich möchte, dass es die Transparenz unterstützt und es zum Zeichnen von Kuchen verwendet.Zeichnen von Kuchen mit PHP ImageMagick
Antwort
Da dieser Beitrag von Googler ab und zu getroffen wird, und haben keine gültige Antwort, ich dachte, ich sollte g Ich habe ein paar Hinweise. Es gibt eine ausgezeichnete Bibliothek namens Imagine (https://github.com/avalanche123/Imagine), die die beliebtesten PHP-Bildbibliotheken (ImageMagick, GraphicsMagick und GD) unter Verwendung der gleichen Aufrufe unterstützt.
Es ist API enthält eine pieSlice-Funktion (http://imagine.readthedocs.org/en/latest/api/Draw/drawer_interface.html#Imagine\Draw\DrawerInterface::pieSlice). Die Quelle für diese Funktion ist https://github.com/avalanche123/Imagine/blob/develop/lib/Imagine/Imagick/Drawer.php#L219
Am besten verwenden Sie ImageMagick :: Draw. Es hat einen Bogenbefehl; Anstatt das Zentrum anzugeben, geben Sie das Begrenzungsrechteck an. Sie müssen nur einen Befehl davor einfügen, um die Füllung festzulegen und eventuell danach, um die Füllung zu schließen.
Soweit ich weiß ImagickDraw :: Bogen ist der einzige Weg, es zu tun (es sei denn Sie eine Funktion erstellen möchten, die sie Pixel für Pixel zeichnet). Aber damit es genauso funktioniert wie gd, müssen Sie nur geringfügige Änderungen vornehmen. Zum Beispiel diese:
imagearc($image, $cx, $cy, $width, $height, $start, $end, $color);
Sollte entspricht dies (ich habe es nicht getestet):
ImagickDraw::setStrokeColor($imageMagickColor); //I don't remember how to allocate the color
ImagickDraw::arc($cx-$width/2, $cy-$height/2, $cx+$width/2, $cy+$height/2, $start, $end);
nicht genau, was Sie fragen, aber es ist einfach Tortendiagramme mit Google-Diagramm zu zeichnen http://code.google.com/apis/chart/ API
Das ist nicht was ich will. Aber danke trotzdem. – runfalk
Es funktioniert nicht auf die gleiche Weise. Dieser Befehl macht grundsätzlich eine Ellipse innerhalb der Begrenzungsbox, schneidet an einer Linie zwischen den gegebenen Graden und löscht eines der Stücke. – runfalk