Question

Existe-t-il un moyen d’obtenir la fonctionnalité imagefilledarc() de GD en utilisant PHP ImageMagick? J'ai regardé autour de moi mais je n'ai pas trouvé de solution satisfaisante jusqu'à présent. Je veux qu'il prenne en charge la transparence et l'utilise pour dessiner des tartes.

Était-ce utile?

La solution 4

Étant donné que ce billet est régulièrement critiqué par des googleurs et que sa réponse n’est pas valable, j’ai donc pensé que je devrais donner quelques conseils. Il existe une excellente bibliothèque appelée Imagine ( https://github.com/avalanche123/Imagine ) qui prend en charge les bibliothèques d'images PHP les plus courantes (ImageMagick, GraphicsMagick et GD) utilisant les mêmes appels.

Cette API inclut une fonction pieSlice ( https://imagine.readthedocs.io/fr/stable/_static/API/Imagine/Draw/DrawerInterface.html#method_pieSlice ). La source de cette fonction est https: // github. com / avalanche123 / Imagine / blob / develop / src / Imagick / Drawer.php # L242

Autres conseils

Votre meilleur choix serait d’utiliser ImageMagick :: Draw. Il a une commande d'arc; au lieu de spécifier le centre, vous spécifiez le rectangle de délimitation. Vous devez simplement ajouter une commande avant pour définir le remplissage et éventuellement après pour fermer le remplissage.

http://us.php.net/manual/en /function.imagickdraw-arc.php

Autant que je sache, ImagickDraw :: arc est la seule façon de le faire (sauf si vous voulez créer une fonction qui la dessine pixel par pixel). Mais pour que cela fonctionne de la même manière que D.ieu, il vous suffit d’apporter des modifications mineures. Par exemple, ceci:

imagearc($image, $cx, $cy, $width, $height, $start, $end, $color);

Devrait être équivalent à ceci (je ne l'ai pas testé):

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

Ce n'est pas tout à fait ce que vous demandiez, mais il est facile de dessiner des diagrammes à secteurs avec l'API Google Chart http: //code.google.com/apis/chart/

alt text

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top