En PHP, la fonction ImageFlip est une fonction utilisée pour retourner une image et est souvent utilisée pour le traitement d'image, la modification et les effets spéciaux. Il peut retourner l'image horizontalement ou verticalement. La fonction Imagerotate peut faire pivoter l'image. Plusieurs fois, lorsque nous effectuons un traitement d'image, nous pouvons combiner ces deux fonctions pour réaliser l'effet de la rotation et du flip. Cependant, l'effet de l'ordre de rotation et de flip sur l'image finale mérite d'être discuté. Dans cet article, nous présenterons en détail comment utiliser les fonctions ImageFlip et Imagerotate pour implémenter la rotation d'images et les opérations de flip, et explorer si l'ordre de rotation et de flip affectera l'effet final.
La fonction ImageFlip est utilisée pour retourner une image. Il accepte deux paramètres, le premier paramètre est la ressource d'image et le deuxième paramètre est le type de flip. Les options communes pour le type de flip sont les suivantes:
IMG_FLIP_HORIZONTAL : Flip horizontalement.
IMG_FLIP_VERTICAL : Flip verticalement.
IMG_FLIP_BOTH : Flip horizontalement et verticalement en même temps.
<?php
// Chargement de l'image
$image = imagecreatefromjpeg("https://gitbox.net/images/sample.jpg");
// Effectuer un flip horizontal
imageflip($image, IMG_FLIP_HORIZONTAL);
// Image de sortie
header('Content-Type: image/jpeg');
imagejpeg($image);
// Détruiser les ressources d'image
imagedestroy($image);
?>
Dans cet exemple, nous chargeons d'abord un fichier d'image JPEG, puis le retournons horizontalement à l'aide de la fonction ImageFlip , et étend enfin et détruisons la ressource d'image.
Contrairement à FLIP, la fonction Imagerotate est utilisée pour faire tourner une image. Il accepte trois paramètres:
Le premier paramètre est la ressource d'image.
Le deuxième paramètre est l'angle de rotation (unités: degrés).
Le troisième paramètre est la couleur d'arrière-plan utilisée lors de la rotation. La couleur peut être définie par ImageColorAllocate .
<?php
// Chargement de l'image
$image = imagecreatefromjpeg("https://gitbox.net/images/sample.jpg");
// Effectuer une rotation
$rotated_image = imagerotate($image, 90, 0);
// Sortir l'image tournée
header('Content-Type: image/jpeg');
imagejpeg($rotated_image);
// Détruiser les ressources d'image
imagedestroy($image);
imagedestroy($rotated_image);
?>
Dans cet exemple, nous chargeons une image et la faisons pivoter dans le sens des aiguilles d'une montre de 90 degrés, sortie et détruire la ressource d'image tournée.
Lorsque vous tournez et retournez l'image en même temps, l'ordre aura un impact sur le résultat final. Voici les différents résultats de la séquence d'opérations de rotation et de flip:
Faites pivoter l'image , puis le retournez-le à nouveau, par exemple, nous le faisons d'abord de 90 degrés, puis le retournons horizontalement.
<?php
$image = imagecreatefromjpeg("https://gitbox.net/images/sample.jpg");
// Tourner d'abord90Degré
$rotated_image = imagerotate($image, 90, 0);
// Puis faire un flip horizontal
imageflip($rotated_image, IMG_FLIP_HORIZONTAL);
// Image de sortie
header('Content-Type: image/jpeg');
imagejpeg($rotated_image);
imagedestroy($image);
imagedestroy($rotated_image);
?>
L'image tournée est à nouveau retournée, et le résultat est que l'image est d'abord tournée puis s'est retournée horizontalement.
Retournez l'image , puis tournez-la à nouveau, par exemple, nous retournons l'image horizontalement en premier, puis le faisant pivoter à 90 degrés.
<?php
$image = imagecreatefromjpeg("https://gitbox.net/images/sample.jpg");
// Effectuer d'abord le flip horizontal
imageflip($image, IMG_FLIP_HORIZONTAL);
// Puis tourne90Degré
$rotated_image = imagerotate($image, 90, 0);
// Image de sortie
header('Content-Type: image/jpeg');
imagejpeg($rotated_image);
imagedestroy($image);
imagedestroy($rotated_image);
?>
Dans cet exemple, nous retournons horizontalement en premier, puis tournons à 90 degrés, et les résultats seront différents.
L'ordre de rotation et de flip affecte l'effet d'image final. Vous pouvez sélectionner l'ordre approprié en fonction de vos besoins pour ajuster l'effet d'affichage de l'image. Par exemple, si vous souhaitez que l'image soit tournée puis retournée, vous pouvez utiliser ImageroTate pour tourner d'abord, puis retourner avec ImageFlip ; Si vous tournez d'abord et tournez ensuite, vous obtiendrez différents effets visuels. Par conséquent, il est très important de comprendre l'influence de différentes séquences opérationnelles lors du traitement des images.