Tout d'abord, nous devons créer une toile vierge pour faciliter le dessin de contenu dessus. La fonction ImageCreateTrueColor () est utilisée pour créer une vraie toile de couleur, qui nous permet de définir la largeur et la hauteur de l'image.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Réglez la largeur et la hauteur de l'image</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-variable">$height</span></span><span> = </span><span><span class="hljs-number">100</span></span><span>;
</span><span><span class="hljs-comment">// Créer une vraie toile de couleur</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-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Dans cette étape, nous définissons une largeur de 300 pixels et 100 pixels de haut pour l'image.
Nous pouvons utiliser la fonction ImageColorAllocate () pour attribuer des couleurs à l'image. La couleur renvoyée par cette fonction peut être utilisée pour dessiner du texte, de l'arrière-plan, etc.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Attribuer des couleurs</span></span><span>
</span><span><span class="hljs-variable">$bgColor</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">// Fond blanc</span></span><span>
</span><span><span class="hljs-variable">$textColor</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">0</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">// Texte noir</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Dans cet exemple, nous définissons une couleur d'arrière-plan blanc et une couleur de texte noir pour l'image.
Ensuite, nous utilisons la fonction ImageFill () ou ImageFillToBorder () pour remplir l'arrière-plan. Cette opération garantit que la toile a une couleur d'arrière-plan unifiée.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Fond rempli de 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">$bgColor</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Cette étape est la clé, nous utilisons la fonction ImmestRinpup () pour dessiner du texte vertical. ImageStrigup () est utilisé pour dessiner du texte le long de la direction verticale de l'image. Ses paramètres sont les suivants:
$ image : la ressource d'image à dessiner
$ police : taille de police
$ x : l'axe horizontal du texte
$ y : la coordonnée verticale du texte
$ String : le texte à dessiner
$ couleur : couleur de police
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// utiliser imagestringup Dessiner du texte vertical</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagestringup</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-string">"Texte vertical"</span></span><span>, </span><span><span class="hljs-variable">$textColor</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Dans cet exemple, nous dessinons le texte "texte vertical" vers les coordonnées (50, 50) de la toile et le texte s'affiche verticalement.
Une fois le dessin terminé, nous pouvons choisir de sortir l'image en tant que fichier ou de l'afficher directement dans le navigateur. Utilisez des fonctions telles que ImagePng () ou ImageJPEG () pour sortir des images en différents formats, ou utiliser la fonction d'en-tête () pour sortir des images directement dans le navigateur.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Sortie vers le 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">// Détruiser les 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>
Ce code sortira l'image directement au navigateur, avec le format d'image en tant que PNG. Une fois la sortie terminée, appelez ImageStroy () pour libérer la mémoire.
En combinant les étapes ci-dessus, l'exemple de code complet est le suivant:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Réglez la largeur et la hauteur de l'image</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-variable">$height</span></span><span> = </span><span><span class="hljs-number">100</span></span><span>;
</span><span><span class="hljs-comment">// Créer une vraie toile de couleur</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-variable">$width</span></span><span>, </span><span><span class="hljs-variable">$height</span></span><span>);
</span><span><span class="hljs-comment">// Attribuer des couleurs</span></span><span>
</span><span><span class="hljs-variable">$bgColor</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">// Fond blanc</span></span><span>
</span><span><span class="hljs-variable">$textColor</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">0</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">// Texte noir</span></span><span>
</span><span><span class="hljs-comment">// Fond rempli de 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">$bgColor</span></span><span>);
</span><span><span class="hljs-comment">// utiliser imagestringup Dessiner du texte vertical</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagestringup</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-string">"Texte vertical"</span></span><span>, </span><span><span class="hljs-variable">$textColor</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">// Détruiser les 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>
Après avoir exécuté le code ci-dessus, nous verrons une image contenant du texte vertical. Dans ce processus, nous utilisons ImageCreateTrueColor () pour créer le canevas, ImageColorAllocate () attribue des couleurs, ImageStrigup () pour dessiner du texte vertical et enfin sortir l'image via ImagePng () .
Grâce à ces étapes, vous pouvez facilement créer des images contenant du texte vertical et les appliquer aux pages Web, au traitement d'images et à d'autres scénarios. J'espère que l'analyse de cet article peut vous aider à mieux comprendre les opérations de base du traitement d'image PHP, en particulier comment dessiner du texte vertical à l'aide d'Immestrip () .