La fonction du traitement des images dans PHP est très puissante, en particulier via la bibliothèque GD, qui vous permet d'effectuer diverses opérations complexes sur des images, telles que le retournement, le filtrage, le recadrage, etc. Aujourd'hui, nous nous concentrerons sur la façon de combiner des fonctions ImageFlip () et ImageFilter () pour réaliser des effets spéciaux lors du retournement des images.
ImageFlip () : Cette fonction est utilisée pour retourner l'image. Le PHP fournit une variété de flips, y compris un flip horizontal, un flip vertical et une rotation de 180 degrés.
imageflip(resource $image, int $mode): bool
Le paramètre de mode détermine le type de flip:
Img_flip_horizontal : flip horizontal
IMG_FLIP_VERTICAL : Flip vertical
Img_flip_both : effectuer simultanément des flips horizontaux et verticaux
ImageFilter () : Cette fonction est utilisée pour appliquer divers effets de filtre à l'image, qui peuvent ajouter différents effets spéciaux à l'image, tels que le flou, la détection des bords, le réglage de la luminosité, etc.
imagefilter(resource $image, int $filtertype, mixed ...$args): bool
Grâce au paramètre FilterType , nous pouvons sélectionner différents filtres, tels que:
IMG_FILTER_NEGATE : Effet de film négatif
IMG_FILTER_GRAYSCALE : Effet de gris
Img_filter_brightness : ajustez la luminosité
IMG_FILTER_CONTRAST : Ajustez le contraste
Tout d'abord, nous allons charger une image et le retourner à l'aide de la fonction imageflip () , puis ajouter quelques effets de filtre à l'aide de la fonction ImageFilter () . Supposons que l'URL de l'image est http://gitbox.net/images/photo.jpg .
<?php
// Chargement de l'image
$image_url = 'http://gitbox.net/images/photo.jpg';
$image = imagecreatefromjpeg($image_url);
// Effectuer un flip(Flip horizontal)
imageflip($image, IMG_FLIP_HORIZONTAL);
// Appliquer des filtres(Niveaux de gris)
imagefilter($image, IMG_FILTER_GRAYSCALE);
// Image de sortie
header('Content-Type: image/jpeg');
imagejpeg($image);
// Mémoire libre
imagedestroy($image);
?>
Afin de rendre l'image plus vive, nous pouvons combiner plusieurs effets de filtre pour créer un effet d'impact plus visuel. Par exemple, après avoir renversé l'image, nous pouvons utiliser IMG_FILTER_NEGATE pour inverser l'image en une négative, plus quelques ajustements de luminosité pour rendre l'image plus lumineuse. Voici un exemple de code complet:
<?php
// Chargement de l'image
$image_url = 'http://gitbox.net/images/photo.jpg';
$image = imagecreatefromjpeg($image_url);
// Effectuer un flip(Flip vertical)
imageflip($image, IMG_FLIP_VERTICAL);
// Appliquer des filtres:Effet négatif
imagefilter($image, IMG_FILTER_NEGATE);
// Ajuster la luminosité
imagefilter($image, IMG_FILTER_BRIGHTNESS, 50);
// Image de sortie
header('Content-Type: image/jpeg');
imagejpeg($image);
// Mémoire libre
imagedestroy($image);
?>
Dans cet exemple, l'image est retournée verticalement d'abord, puis un effet de film négatif est appliqué, et la luminosité de l'image est ajustée pour rendre l'image inversée plus vive et intéressante.
En plus des flips et des filtres de base, nous pouvons également obtenir des effets plus complexes en combinant plusieurs filtres et flips. Par exemple, nous pouvons utiliser IMG_FILTER_CONTRAST pour ajuster le contraste après le retournement de l'image, ou utiliser IMG_FILTER_EDGEDETECT pour créer des effets de détection de bord. Grâce à ces combinaisons, des effets visuels uniques peuvent être créés.
<?php
// Chargement de l'image
$image_url = 'http://gitbox.net/images/photo.jpg';
$image = imagecreatefromjpeg($image_url);
// Effectuer un flip(Flip horizontal)
imageflip($image, IMG_FLIP_HORIZONTAL);
// Appliquer des filtres:Détection de bord
imagefilter($image, IMG_FILTER_EDGEDETECT);
// Ajuster le contraste
imagefilter($image, IMG_FILTER_CONTRAST, -50);
// Image de sortie
header('Content-Type: image/jpeg');
imagejpeg($image);
// Mémoire libre
imagedestroy($image);
?>
En combinant les fonctions ImageFlip () et ImageFilter () , PHP nous permet d'effectuer divers traitements créatifs des images. Nous pouvons utiliser ces fonctions de manière flexible, ce qui peut non seulement effectuer des flips simples sur l'image, mais également ajouter des effets spéciaux intéressants via des filtres. Ces fonctions peuvent fournir un soutien solide, que ce soit dans le traitement d'image, le développement Web ou les applications de génération d'images.
Si vous souhaitez rendre l'image plus créative, essayez d'utiliser différentes combinaisons de filtres. Avec ces fonctions simples, vous pouvez rapidement transformer des images ordinaires en effets visuels plus vifs et intéressants.