Position actuelle: Accueil> Derniers articles> Comment faire pivoter et sortir une image au format JPEG via l'imagerotate?

Comment faire pivoter et sortir une image au format JPEG via l'imagerotate?

gitbox 2025-09-03

En PHP, le traitement des images est une tâche courante. En utilisant la fonction Imagerotate dans la bibliothèque GD, vous pouvez facilement faire pivoter l'image. Cette fonction est très utile, en particulier lors du traitement des images téléchargées par les utilisateurs. Si vous souhaitez faire pivoter l'image et le sortir au format JPEG, cet article expliquera en détail comment l'implémenter.

1. Quelle est la fonction Imagerotate ?

Imagerotate est une fonction fournie par la bibliothèque GD dans PHP qui vous permet de faire tourner les images. L'image tournée est basée sur l'angle spécifié et la zone vide peut être remplie d'une couleur d'arrière-plan spécifiée.

La syntaxe de base de l'imagerotate :

 <span><span><span class="hljs-title function_ invoke__">imagerotate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$angle</span></span><span>, </span><span><span class="hljs-variable">$bgColor</span></span><span>);
</span></span>
  • $ Image : une ressource d'image, généralement créée par ImageCreateFrom ... Fonctions de la série (telles que ImageCreateFromJPEG , ImageCreateFrommpng , etc.).

  • $ Angle : l'angle de rotation est l'unité en degrés. Les valeurs positives indiquent une rotation dans le sens horaire et les valeurs négatives indiquent une rotation dans le sens antihoraire.

  • $ bgcolor : la couleur d'arrière-plan de la zone vierge tournée, généralement la ressource couleur créée par la fonction ImageColorAllocate .

2. Faites pivoter l'image et la publier au format JPEG

Ensuite, nous démontrerons les étapes spécifiques de la façon de tourner et d'enregistrer l'image au format JPEG via PHP. Supposons que nous voulons traiter un fichier image nommé example.jpg .

Étape 1: Chargez l'image

Tout d'abord, nous devons charger l'image qui doit être tournée. Ici, nous utilisons la fonction ImageCreateFromJPEG pour charger des images au format JPEG.

 <span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefromjpeg</span></span><span>(</span><span><span class="hljs-string">'example.jpg'</span></span><span>);
</span></span>

Étape 2: Faites pivoter l'image

Nous tournons ensuite l'image via l'imagerotate . Supposons que nous voulons que l'image tourne dans le sens des aiguilles d'une montre de 90 degrés et que la couleur d'arrière-plan est blanche.

 <span><span><span class="hljs-variable">$rotatedImage</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagerotate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">90</span></span><span>, </span><span><span class="hljs-number">0xFFFFFF</span></span><span>);  </span><span><span class="hljs-comment">// Fond blanc</span></span><span>
</span></span>

Ici, nous spécifions l'angle de rotation de 90 degrés et la couleur d'arrière-plan est blanche ( 0xffffff représente la valeur hexadécimale du blanc).

Étape 3: L'image de sortie est au format JPEG

Une fois la rotation terminée, nous sortions l'image au format JPEG. Pour maintenir la qualité de l'image, nous pouvons spécifier la qualité de la compression (un entier entre 0 et 100, 100 signifie aucune compression).

 <span><span><span class="hljs-title function_ invoke__">imagejpeg</span></span><span>(</span><span><span class="hljs-variable">$rotatedImage</span></span><span>, </span><span><span class="hljs-string">'rotated_example.jpg'</span></span><span>, </span><span><span class="hljs-number">90</span></span><span>);  </span><span><span class="hljs-comment">// 90 Pour la qualité de sortie</span></span><span>
</span></span>

Étape 4: Nettoyer les ressources

Enfin, n'oubliez pas de nettoyer les ressources d'image que nous prenons en mémoire.

 <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-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$rotatedImage</span></span><span>);
</span></span>

3. Exemple de code complet

Intégrez le code ci-dessus dans un script PHP complet, l'exemple est le suivant:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>

</span><span><span class="hljs-comment">// Chargement de l&#39;image</span></span><span>
</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefromjpeg</span></span><span>(</span><span><span class="hljs-string">'example.jpg'</span></span><span>);

</span><span><span class="hljs-comment">// Faire pivoter l&#39;image 90 Degré,La couleur du fond est blanche</span></span><span>
</span><span><span class="hljs-variable">$rotatedImage</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagerotate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">90</span></span><span>, </span><span><span class="hljs-number">0xFFFFFF</span></span><span>);

</span><span><span class="hljs-comment">// L&#39;image de sortie est JPEG Format,La qualité est 90</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagejpeg</span></span><span>(</span><span><span class="hljs-variable">$rotatedImage</span></span><span>, </span><span><span class="hljs-string">'rotated_example.jpg'</span></span><span>, </span><span><span class="hljs-number">90</span></span><span>);

</span><span><span class="hljs-comment">// Nettoyer les ressources d&#39;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-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$rotatedImage</span></span><span>);

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"L&#39;image tourne et a été enregistrée comme rotated_example.jpg"</span></span><span>;

</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

4. Autres précautions

  • Angle de rotation : l'angle de rotation doit être un degré. Par exemple, 90 degrés consiste à faire pivoter l'image dans le sens horaire d'un quart de virage, 180 degrés consiste à faire tourner un demi-tour et -90 degrés consiste à tourner dans le sens antihoraire.

  • Couleur d'arrière-plan : si l'image tournée produit des zones transparentes, l'imagerotate remplira ces zones avec la couleur d'arrière-plan spécifiée. Vous pouvez définir n'importe quelle couleur via la fonction ImageColorAllocate .

  • Type d'image : Bien que le format JPEG soit utilisé dans cet exemple, vous pouvez également utiliser des fonctions telles que ImageCreateFrommpng ou ImageCreateFromGif pour traiter les images dans d'autres formats. L'opération de rotation elle-même est indépendante du format d'image.

5. Résumé

L'utilisation de la fonction Imagerotate de PHP peut facilement faire tourner les images, et les images tournées peuvent être enregistrées au format JPEG avec du code simple. En combinant les fonctions d'autres bibliothèques GD, vous pouvez implémenter des opérations de traitement d'image plus complexes. J'espère que les exemples de cet article vous aident à traiter efficacement la rotation de l'image dans votre projet.