Comment utiliser PHP pour le traitement et la manipulation d'images

WBOY
Libérer: 2023-08-04 08:16:01
original
1258 Les gens l'ont consulté

Comment utiliser PHP pour le traitement et la manipulation d'images

Aperçu :
Dans les applications Internet modernes, le traitement et la manipulation d'images sont une technologie très importante. En tant que langage de programmation back-end populaire, PHP fournit une multitude de fonctions de traitement et d'exploitation d'images, nous permettant d'effectuer facilement diverses opérations sur les images, telles que la mise à l'échelle, le recadrage, la rotation, le réglage de la luminosité, du contraste et de la couleur, etc. Cet article présentera comment utiliser PHP pour le traitement et la manipulation d'images, et le démontrera en détail à travers des exemples de code.

1. Installez et configurez l'extension GD :
Pour utiliser PHP pour le traitement d'images, nous devons d'abord installer et activer l'extension GD. L'extension GD est une bibliothèque de traitement d'images. Elle fournit certaines fonctions de traitement d'images. Les instructions d'installation et de configuration correspondantes sont également fournies dans la documentation officielle de PHP.

  1. Dans le système d'exploitation Ubuntu, vous pouvez installer l'extension GD via la commande suivante :
    sudo apt-get install php7.4-gd
  2. Une fois l'installation terminée, vous devez redémarrer le serveur Web pour effectuer la configuration prendre effet.
  3. Confirmez si l'extension GD est activée. Vous pouvez créer un fichier PHP et vérifier si le module GD a été chargé via la fonction phpinfo(). S'il est chargé, vous pouvez commencer à utiliser l'extension GD pour le traitement et la manipulation d'images.

    2. Opérations de base des images :

  4. Chargement et sauvegarde des images :
    Pour effectuer le traitement d'image, vous devez d'abord charger une image. Un fichier image peut être chargé dans un objet ressource image PHP à l'aide de la fonction imagecreatefrom fournie par la bibliothèque GD.

Voici l'exemple de code pour charger et enregistrer une image :

// Load image
$image = imagecreatefromjpeg('image.jpg');

// Save image
imagejpeg($image, 'new_image.jpg', 100);
Copier après la connexion

Dans l'exemple ci-dessus, la fonction imagecreatefromjpeg est utilisée pour créer un objet de ressource image à partir d'un fichier JPEG, puis la fonction imagejpeg est utilisée pour enregistrer l'image. ressource vers un nouveau fichier JPEG. Le troisième paramètre représente la qualité de l'image, avec une plage de valeurs de 0 à 100, 100 indiquant la meilleure qualité.

  1. Affichage et sortie de l'image :
    Après avoir chargé et modifié l'image, nous pouvons l'afficher sur le navigateur ou la sortir dans un nouveau fichier image.

Voici un exemple de code pour afficher l'image dans le navigateur :

// Display image
header('Content-Type: image/jpeg');
imagejpeg($image);
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons la fonction d'en-tête pour définir le type MIME de l'image sur 'image/jpeg', puis utilisons l'imagejpeg fonction pour afficher la ressource image vers le navigateur.

Ce qui suit est un exemple de code pour enregistrer l'image en tant que nouveau fichier image :

// Save modified image
imagejpeg($image, 'modified_image.jpg', 100);
Copier après la connexion

3. Traitement ultérieur de l'image :
Après le chargement de l'image, nous pouvons y effectuer divers traitements ultérieurs, tels que la mise à l'échelle, le recadrage, rotation, réglage de la luminosité, du contraste, de la couleur et bien plus encore.

  1. Mise à l'échelle de l'image :
    La mise à l'échelle de l'image est l'une des opérations courantes de traitement d'image. Nous pouvons utiliser la fonction imagecopyresampled pour redimensionner l'image originale à une taille spécifiée.

Voici l'exemple de code pour mettre à l'échelle une image :

// Load image
$image = imagecreatefromjpeg('image.jpg');

// Resize image
$width = 200;
$height = 200;
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $width, $height, imagesx($image), imagesy($image));

// Save resized image
imagejpeg($new_image, 'resized_image.jpg', 100);
Copier après la connexion

Dans l'exemple ci-dessus, nous créons d'abord une nouvelle image d'une taille spécifiée à l'aide de la fonction imagecreatetruecolor, puis utilisons la fonction imagecopyresampled pour redimensionner l'image d'origine dans la nouvelle image. , et enfin utilisez la fonction imagejpeg Enregistrer une nouvelle image.

  1. Recadrer l'image : 
    Recadrer l'image fait référence à l'opération consistant à découper une zone spécifiée de l'image originale. Utilisez la fonction imagecopy pour copier une zone spécifiée de l'image originale vers une nouvelle image.

Voici l'exemple de code pour recadrer une image :

// Load image
$image = imagecreatefromjpeg('image.jpg');

// Crop image
$x = 100;
$y = 100;
$width = 200;
$height = 200;
$new_image = imagecreatetruecolor($width, $height);
imagecopy($new_image, $image, 0, 0, $x, $y, $width, $height);

// Save cropped image
imagejpeg($new_image, 'cropped_image.jpg', 100);
Copier après la connexion

Dans l'exemple ci-dessus, nous créons d'abord une nouvelle image d'une taille spécifiée à l'aide de la fonction imagecreatetruecolor, puis utilisons la fonction imagecopy pour copier la zone spécifiée du l'image originale dans la nouvelle image, et enfin enregistrez la nouvelle image à l'aide de la fonction imagejpeg.

  1. Rotation de l'image :
    La rotation de l'image fait référence à l'opération de rotation de l'image originale selon un angle spécifié. Les images peuvent être pivotées à l’aide de la fonction imagerotate.

Ce qui suit est un exemple de code pour faire pivoter une image :

// Load image
$image = imagecreatefromjpeg('image.jpg');

// Rotate image
$angle = 45;
$rotated_image = imagerotate($image, $angle, 0);

// Save rotated image
imagejpeg($rotated_image, 'rotated_image.jpg', 100);
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons la fonction imagerotate pour faire pivoter l'image selon l'angle spécifié, puis utilisons la fonction imagejpeg pour enregistrer l'image pivotée.

  1. Ajuster la luminosité, le contraste et la couleur :
    Le réglage de la luminosité, du contraste et de la couleur d'une image peut modifier l'effet visuel global de l'image. Utilisez la fonction de filtre d'image pour appliquer divers effets de filtre aux images, notamment des réglages de luminosité, de contraste et de couleur.

Ce qui suit est un exemple de code pour ajuster la luminosité :

// Load image
$image = imagecreatefromjpeg('image.jpg');

// Adjust brightness
$brightness = 100;
imagefilter($image, IMG_FILTER_BRIGHTNESS, $brightness);

// Save modified image
imagejpeg($image, 'brightness_adjusted_image.jpg', 100);
Copier après la connexion

Dans l'exemple ci-dessus, la fonction imagefilter est utilisée pour appliquer un effet de filtre de réglage de la luminosité à l'image. Le paramètre IMG_FILTER_BRIGHTNESS représente le réglage de la luminosité, et $brightness est le. valeur de réglage de la luminosité.

De même, nous pouvons utiliser les paramètres IMG_FILTER_CONTRAST et IMG_FILTER_COLORIZE pour apporter des ajustements de contraste et de couleur à l'image.

Pour résumer, cet article présente les connaissances de base sur l'utilisation de PHP pour le traitement et le fonctionnement des images, et démontre en détail le chargement, la sauvegarde, l'affichage, la sortie, la mise à l'échelle, le recadrage, la rotation et le réglage de la luminosité et du contraste des images via des exemples de code pertinents et des opérations de base telles que la couleur. J'espère que cet article vous aidera à comprendre et à appliquer le traitement d'image PHP.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!