Position actuelle: Accueil> Derniers articles> Utilisez la fonction ImageFlip pour effectuer l'ordre de rotation d'image et de flip

Utilisez la fonction ImageFlip pour effectuer l'ordre de rotation d'image et de flip

gitbox 2025-05-19

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.

1. Utilisez la fonction ImageFlip pour retourner l'image

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.

Exemple de code:

 <?php
// Chargement de l&#39;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&#39;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.

2. Utilisez la fonction d'imagerotate pour faire pivoter l'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 .

Exemple de code:

 <?php
// Chargement de l&#39;image
$image = imagecreatefromjpeg("https://gitbox.net/images/sample.jpg");

// Effectuer une rotation
$rotated_image = imagerotate($image, 90, 0);

// Sortir l&#39;image tournée
header('Content-Type: image/jpeg');
imagejpeg($rotated_image);

// Détruiser les ressources d&#39;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.

3. L'ordre de rotation et d'influence de flip

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:

Tournez d'abord, flip après:

  1. 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&#39;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.

Flip d'abord, tournez après:

  1. 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&#39;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.

4. Résumé

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.