Dans la vie quotidienne, les selfies sont devenus un moyen pour beaucoup de gens d'enregistrer leur vie. Cependant, les photos prises par la caméra frontale du téléphone mobile sont souvent en miroir, ce qui peut être gênant pour certains utilisateurs. Cet article vous apprendra à utiliser la fonction ImageFlip () intégrée de PHP pour développer rapidement un gadget "Flip Selfie" pour aider les utilisateurs à restaurer de réelles perspectives.
Tout d'abord, vous devez avoir un environnement de serveur compatible PHP et activer la bibliothèque GD (extension de traitement d'image PHP). Vous pouvez vérifier si la bibliothèque GD est activée en utilisant la méthode suivante:
<?php
phpinfo();
?>
Recherchez "Support GD" dans la page de sortie pour confirmer s'il est "activé".
Nous créerons une page Web simple où les utilisateurs peuvent télécharger des selfies, le système se retournera automatiquement horizontalement et affichera les résultats.
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Outil de selfie flip</title>
</head>
<body>
<h2>Téléchargez des selfies et retournez-les</h2>
<form action="flip.php" method="post" enctype="multipart/form-data">
<input type="file" name="image" accept="image/*" required>
<button type="submit">Télécharger et retourner</button>
</form>
</body>
</html>
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['image'])) {
$file = $_FILES['image']['tmp_name'];
$mime = mime_content_type($file);
switch ($mime) {
case 'image/jpeg':
$image = imagecreatefromjpeg($file);
$ext = 'jpg';
break;
case 'image/png':
$image = imagecreatefrompng($file);
$ext = 'png';
break;
case 'image/gif':
$image = imagecreatefromgif($file);
$ext = 'gif';
break;
default:
die("Formats d'image non pris en charge!");
}
// utiliser imageflip Effectuer un flip horizontal
imageflip($image, IMG_FLIP_HORIZONTAL);
// Générer un nom de fichier unique
$outputName = 'flipped_' . time() . '.' . $ext;
$outputPath = __DIR__ . '/uploads/' . $outputName;
// Assurez-vous que le répertoire de téléchargement existe
if (!is_dir(__DIR__ . '/uploads')) {
mkdir(__DIR__ . '/uploads', 0755, true);
}
// Enregistrer l'image inversée
switch ($ext) {
case 'jpg':
imagejpeg($image, $outputPath);
break;
case 'png':
imagepng($image, $outputPath);
break;
case 'gif':
imagegif($image, $outputPath);
break;
}
imagedestroy($image);
// Montrer les résultats
$url = 'https://m66.net/uploads/' . $outputName;
echo "<h3>Selfie retourné:</h3>";
echo "<img src='$url' alt='Flipped Image' style='max-width: 100%; height: auto;'>";
echo "<p><a href='index.html'>Recommencer</a></p>";
} else {
echo "Veuillez télécharger des images via le formulaire。";
}
?>
Pour des raisons de sécurité, plus de vérifications peuvent être effectuées sur la taille du fichier téléchargé, le type MIME, le suffixe, etc.
Il peut combiner JavaScript pour obtenir un aperçu en temps réel et un flip frontal pour améliorer l'expérience utilisateur.
Vous pouvez permettre à plus d'utilisateurs d'accéder à votre outil en le déploiement sur https://m66.net/ .
En utilisant la fonction ImageFlip () de PHP, nous pouvons facilement implémenter un retournement horizontal ou vertical de l'image. Ce gadget "Flip Selfie" est non seulement pratique, mais aussi très facile à développer. Qu'il soit utilisé pour des sites Web personnels ou intégrés dans des systèmes plus grands, il peut offrir aux utilisateurs une expérience plus prévenante.
J'espère que cet article peut vous aider à créer facilement votre propre widget de traitement d'image! Si vous avez d'autres idées, comme l'ajout de filtres, de filigranes, etc., vous pouvez continuer à vous développer sur cette base.