Comment utiliser PHP pour développer une fonction simple de filtre d'image

WBOY
Libérer: 2023-09-20 09:16:01
original
809 Les gens l'ont consulté

Comment utiliser PHP pour développer une fonction simple de filtre dimage

Comment utiliser PHP pour développer une fonction simple de filtre d'image ?

Introduction : Dans le développement Web, l'ajout de filtres d'image peut ajouter un certain intérêt à l'expérience visuelle de l'utilisateur. Cet article explique comment utiliser PHP pour développer une fonction de filtre d'image simple et fournit des exemples de code spécifiques.

  1. Assurer la configuration de l'environnement
    Avant de commencer, assurez-vous d'avoir correctement configuré l'environnement PHP et installé la bibliothèque GD, car nous utiliserons la bibliothèque GD pour traiter les images. Vous pouvez activer la bibliothèque GD dans le fichier php.ini ou sélectionner la bibliothèque GD lors de l'installation de PHP.
  2. Charger l'image originale
    Tout d'abord, nous devons charger l'image originale à filtrer. Utilisez la fonction imagecreatefromjpeg() dans le code et transmettez le chemin du fichier image en paramètre pour charger une image au format .jpeg. Si vous souhaitez charger des images dans d'autres formats, vous devez modifier les fonctions correspondantes.
$sourceImage = imagecreatefromjpeg("path/to/source/image.jpg");
Copier après la connexion
  1. Créer une image cible
    Ensuite, nous devons créer une nouvelle image cible et définir sa largeur, sa hauteur et sa couleur d'arrière-plan. Vous pouvez utiliser la fonction imagecreatetruecolor() pour créer une image vierge en vraies couleurs et définir sa largeur, sa hauteur et sa couleur d'arrière-plan.
$targetImage = imagecreatetruecolor(imagesx($sourceImage), imagesy($sourceImage));
$backgroundColor = imagecolorallocate($targetImage, 255, 255, 255);
imagefill($targetImage, 0, 0, $backgroundColor);
Copier après la connexion
  1. Appliquer des effets de filtre
    Nous pouvons utiliser différentes fonctions fournies par la bibliothèque GD pour obtenir différents effets de filtre. Voici quelques exemples de filtres courants :
  • Filtre en niveaux de gris
    Le filtre en niveaux de gris peut convertir des images couleur en images en niveaux de gris noir et blanc. Ceci peut être réalisé en utilisant la fonction imagefilter() et en passant le paramètre IMG_FILTER_GRAYSCALE.
imagefilter($sourceImage, IMG_FILTER_GRAYSCALE);
Copier après la connexion
  • Filtre inversé
    Le filtre inversé peut inverser la couleur de l'image, c'est-à-dire du noir au blanc, du blanc au noir. Ceci peut être réalisé en utilisant la fonction imagefilter() et en passant le paramètre IMG_FILTER_NEGATE.
imagefilter($sourceImage, IMG_FILTER_NEGATE);
Copier après la connexion
  • Filtres nostalgiques
    Les filtres nostalgiques peuvent ajouter une touche d'antan aux images et les faire ressembler à de vieilles photos. Utilisez la fonction imagefilter() et transmettez les paramètres IMG_FILTER_GRAYSCALE et IMG_FILTER_COLORIZE pour y parvenir.
imagefilter($sourceImage, IMG_FILTER_GRAYSCALE);
imagefilter($sourceImage, IMG_FILTER_COLORIZE, 100, 50, 0);
Copier après la connexion
  1. Sortir l'image traitée
    Après avoir terminé l'application de l'effet de filtre, nous devons sortir l'image traitée. Vous pouvez utiliser la fonction imagejpeg() pour enregistrer l'image cible au format .jpeg et spécifier le chemin d'enregistrement.
imagejpeg($targetImage, "path/to/target/image.jpg");
Copier après la connexion
  1. Exemple de code complet
$sourceImage = imagecreatefromjpeg("path/to/source/image.jpg");
$targetImage = imagecreatetruecolor(imagesx($sourceImage), imagesy($sourceImage));
$backgroundColor = imagecolorallocate($targetImage, 255, 255, 255);
imagefill($targetImage, 0, 0, $backgroundColor);
imagecopy($targetImage, $sourceImage, 0, 0, 0, 0, imagesx($sourceImage), imagesy($sourceImage));

// 添加滤镜效果
imagefilter($sourceImage, IMG_FILTER_GRAYSCALE);
// 或者:imagefilter($sourceImage, IMG_FILTER_NEGATE);
// 或者:imagefilter($sourceImage, IMG_FILTER_GRAYSCALE);
//        imagefilter($sourceImage, IMG_FILTER_COLORIZE, 100, 50, 0);

// 输出处理后的图片
imagejpeg($targetImage, "path/to/target/image.jpg");

// 释放图片资源
imagedestroy($sourceImage);
imagedestroy($targetImage);
Copier après la connexion

Résumé : Grâce aux étapes ci-dessus, nous pouvons utiliser PHP pour développer une fonction de filtre d'image simple. En développement réel, vous pouvez ajuster les effets de filtre ou ajouter plus d'effets de filtre en fonction de différents besoins. En utilisant PHP et la bibliothèque GD, vous pouvez facilement effectuer divers traitements sur les images.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal