Le traitement d'image est une tâche courante en PHP, en particulier lorsqu'il est nécessaire de générer des images dynamiques ou d'afficher des graphiques personnalisés sur les pages Web. Les fonctions ImageArc et ImageCreateTrueColor sont deux outils importants dans le traitement d'image. Grâce à ces deux fonctions, les développeurs peuvent créer des images avec des effets d'arc. Cet article expliquera en détail comment combiner ces deux fonctions pour générer une image avec un effet d'arc.
La fonction ImageCreateTrueColor est utilisée pour créer une véritable image couleur, renvoyant un identifiant de ressources représentant l'image. Les vrais images couleur prennent en charge 256 niveaux de couleurs différents (c'est-à-dire la profondeur de couleur 24 bits) pour chaque canal de couleur, afin qu'il puisse exprimer des détails de couleur plus riches.
Prototype de fonction:
<span><span>resource </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$height</span></span><span>)
</span></span>
Description du paramètre:
$ Largeur : La largeur de l'image.
$ hauteur : la hauteur de l'image.
La fonction Imagearc est utilisée pour dessiner un arc sur une image. L'arc est déterminé par le centre spécifié, le rayon, l'angle de départ et l'angle d'extrémité. Cette fonction est très adaptée pour dessiner des arcs ou des chemins incurvés.
Prototype de fonction:
<span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(resource </span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$start</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$end</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$color</span></span><span>)
</span></span>
Description du paramètre:
$ Image : la ressource d'image pour dessiner l'arc.
$ CX : La coordonnée X du centre du cercle.
$ CY : La coordonnée y du centre du cercle.
$ Largeur : La largeur du rectangle où se trouve l'arc.
$ Hauteur : la hauteur du rectangle où se trouve l'arc.
$ start : l'angle de départ de l'arc (unité: degrés).
$ fin : l'angle d'extrémité de l'arc (unité: degrés).
$ couleur : la couleur de l'arc.
Voici un exemple simple montrant comment générer une image avec un effet d'arc utilisant les fonctions ImageCreateTrueColor et Imagearc .
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Créer un 400x400 Image couleur vraie des pixels</span></span><span>
</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-number">400</span></span><span>, </span><span><span class="hljs-number">400</span></span><span>);
</span><span><span class="hljs-comment">// Définir le fond de l'image sur blanc</span></span><span>
</span><span><span class="hljs-variable">$backgroundColor</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>); </span><span><span class="hljs-comment">// RGB: Blanc</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefill</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$backgroundColor</span></span><span>);
</span><span><span class="hljs-comment">// Réglez l'arc sur la couleur rouge</span></span><span>
</span><span><span class="hljs-variable">$arcColor</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>); </span><span><span class="hljs-comment">// RGB: rouge</span></span><span>
</span><span><span class="hljs-comment">// Tracer les lignes d'arc</span></span><span>
</span><span><span class="hljs-variable">$cx</span></span><span> = </span><span><span class="hljs-number">200</span></span><span>; </span><span><span class="hljs-comment">// Centre de cercle x coordonner</span></span><span>
</span><span><span class="hljs-variable">$cy</span></span><span> = </span><span><span class="hljs-number">200</span></span><span>; </span><span><span class="hljs-comment">// Centre de cercle y coordonner</span></span><span>
</span><span><span class="hljs-variable">$width</span></span><span> = </span><span><span class="hljs-number">300</span></span><span>; </span><span><span class="hljs-comment">// La largeur de l'arc</span></span><span>
</span><span><span class="hljs-variable">$height</span></span><span> = </span><span><span class="hljs-number">300</span></span><span>; </span><span><span class="hljs-comment">// La hauteur de l'arc</span></span><span>
</span><span><span class="hljs-variable">$start</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>; </span><span><span class="hljs-comment">// Angle de départ</span></span><span>
</span><span><span class="hljs-variable">$end</span></span><span> = </span><span><span class="hljs-number">90</span></span><span>; </span><span><span class="hljs-comment">// Angle de fin</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-variable">$start</span></span><span>, </span><span><span class="hljs-variable">$end</span></span><span>, </span><span><span class="hljs-variable">$arcColor</span></span><span>);
</span><span><span class="hljs-comment">// Image de sortie au navigateur</span></span><span>
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Content-Type: image/png'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagepng</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-comment">// Libérez des ressources d'image</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Créez une image: utilisez la fonction ImageCreateTrueColor pour créer une image vierge de 400x400 pixels et remplissez l'image d'un fond blanc.
Définissez la couleur: utilisez la fonction ImageColorAllocate pour définir la couleur de l'arc (rouge) et la couleur de l'arrière-plan (blanc).
Dessinez des arcs: utilisez la fonction Imagearc pour dessiner un arc rouge au centre de l'image (200, 200), avec l'angle de départ de 0 degrés et l'angle d'extrémité de 90 degrés. La largeur et la hauteur du cadre rectangulaire de l'arc sont respectivement de 300 pixels.
Image de sortie: Enfin, utilisez ImagePNG pour sortir l'image générée et libérer la ressource d'image via ImageDestroy .
Vous pouvez ajuster divers paramètres de l'arc en fonction de vos besoins, tels que la modification de la couleur de l'arc, l'ajustement des angles de démarrage et de fin, et même en utilisant différentes tailles d'image ou couleurs d'arrière-plan pour générer différents effets.
<span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">360</span></span><span>, </span><span><span class="hljs-variable">$arcColor</span></span><span>);
</span></span>
Cet exemple tire un arc complet avec des angles allant de 0 à 360 degrés.
<span><span><span class="hljs-title function_ invoke__">imagearc</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$cx</span></span><span>, </span><span><span class="hljs-variable">$cy</span></span><span>, </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>, </span><span><span class="hljs-number">30</span></span><span>, </span><span><span class="hljs-number">120</span></span><span>, </span><span><span class="hljs-variable">$arcColor</span></span><span>);
</span></span>
Cet exemple tire un arc incurvé avec des angles allant de 30 degrés à 120 degrés.
En combinant des fonctions d' image decréation decolore et d'image , nous pouvons facilement créer des images avec des effets d'arc en PHP. Ces deux fonctions rendent le traitement d'image très flexible et conviennent à une variété de scénarios d'application où des chemins incurvés ou des images incurvées sont nécessaires. Vous pouvez ajuster librement la taille de l'image, la couleur et les paramètres d'arc en fonction de vos besoins pour créer un effet visuel unique.