Position actuelle: Accueil> Derniers articles> Scripts PHP qui implémentent les effets de flip à temps libre (miroir)

Scripts PHP qui implémentent les effets de flip à temps libre (miroir)

M66 2025-05-31

Lors du développement de sites Web ou d'applications pour le traitement de la photo, nous rencontrons souvent des utilisateurs à télécharger des selfies, mais en raison de la méthode d'imagerie de la caméra frontale, l'image est dans un état "miroir", et les utilisateurs peuvent vouloir le basculer dans une photo d'un point de vue naturel. Pour le moment, nous pouvons utiliser la fonction ImageFlip () fournie par PHP pour réaliser facilement cette exigence.

Cet article vous guidera sur la façon d'utiliser ImageFlip () et utilisera un exemple complet pour montrer comment gérer les selfies téléchargés pour les faire miroir horizontalement.

Qu'est-ce que ImageFlip?

ImageFlip () est une fonction de bibliothèque d'images GD dans PHP, utilisée pour retourner les images horizontalement, verticalement ou simultanément. La syntaxe de base est la suivante:

 bool imageflip(GdImage $image, int $mode)

Description du paramètre:

  • $ Image : la ressource d'image sur laquelle fonctionner.

  • MODE $ : MODE FLIP, qui peut être l'une des constantes suivantes:

    • IMG_FLIP_HORIZONTAL : Flip horizontal (miroir)

    • IMG_FLIP_VERTICAL : Flip vertical

    • Img_flip_both : flip horizontal et vertical

Réalisez le flip miroir horizontal des photos de selfies

Voici un exemple complet qui simule le téléchargement de photo de selfie d'un utilisateur, le retourne horizontalement et l'enregistre en tant que nouveau fichier.

 <?php
// Simuler le chemin du fichier de téléchargement(Veuillez l&#39;utiliser dans des applications réelles $_FILES Fichier téléchargé)
$sourcePath = 'uploads/selfie.jpg';
$destinationPath = 'uploads/selfie_flipped.jpg';

// Vérifiez si le fichier existe
if (!file_exists($sourcePath)) {
    die('Le fichier source n&#39;existe pas,Veuillez télécharger les photos et réessayer。');
}

// Obtenir des informations d&#39;image
$imageInfo = getimagesize($sourcePath);
$mime = $imageInfo['mime'];

switch ($mime) {
    case 'image/jpeg':
        $image = imagecreatefromjpeg($sourcePath);
        break;
    case 'image/png':
        $image = imagecreatefrompng($sourcePath);
        break;
    case 'image/gif':
        $image = imagecreatefromgif($sourcePath);
        break;
    default:
        die('Formats d&#39;image non pris en charge,Soutenu uniquement JPG、PNG et GIF。');
}

// Effectuer un flip horizontal
if (imageflip($image, IMG_FLIP_HORIZONTAL)) {
    // Enregistrer de nouvelles images
    imagejpeg($image, $destinationPath, 90);
    imagedestroy($image);
    echo 'La photo a été renversée et sauvées avec succès comme:<a href="https://m66.net/' . $destinationPath . '">Voir les images</a>';
} else {
    die('Flip miroir a échoué,Veuillez vérifier les ressources de l&#39;image。');
}
?>

Choses à noter

  1. Problème des autorisations : assurez-vous que le répertoire des téléchargements a des autorisations d'écriture, sinon l'enregistrement de l'image échouera.

  2. Prise en charge de la bibliothèque GD : Avant d'utiliser cette fonctionnalité, assurez-vous que PHP a installé et activé la bibliothèque d'images GD.

  3. Sécurité : Dans le développement réel, les fichiers téléchargés doivent être strictement vérifiés pour éviter les vulnérabilités de sécurité.

résumé

L'utilisation d'imageflip () peut efficacement réaliser l'effet de retournement du miroir des selfies, ce qui est une astuce très pratique lorsqu'il s'agit de selfies. J'espère que cet article sera utile à votre développement dans le traitement d'image!

Si vous créez un site Web avec une fonction de téléchargement de selfie, n'oubliez pas d'ajouter cette fonction pour permettre aux utilisateurs de voir eux-mêmes le «correct»!