Maison  >  Article  >  développement back-end  >  Une introduction approfondie aux fonctions de traitement d'image PHP : technologie de traitement d'image de imagecreatefromjpeg, imagecopyresized, imagepng et autres fonctions

Une introduction approfondie aux fonctions de traitement d'image PHP : technologie de traitement d'image de imagecreatefromjpeg, imagecopyresized, imagepng et autres fonctions

王林
王林original
2023-11-18 17:44:21907parcourir

Une introduction approfondie aux fonctions de traitement dimage PHP : technologie de traitement dimage de imagecreatefromjpeg, imagecopyresized, imagepng et autres fonctions

Explication concise des fonctions de traitement d'image PHP : technologie de traitement d'image de imagecreatefromjpeg, imagecopyresized, imagepng et autres fonctions

Le traitement d'image joue un rôle important dans les applications réseau modernes, qu'il s'agisse de télécharger des avatars d'utilisateurs, de générer des vignettes ou dans des applications graphiques le traitement est indissociable du support des fonctions de traitement d’image. Parmi elles, PHP fournit une série de fonctions puissantes de traitement d'image. Cet article se concentrera sur les compétences d'utilisation de imagecreatefromjpeg, imagecopyresized, imagepng et d'autres fonctions, et donnera des exemples de code spécifiques.

  1. Fonction imagecreatefromjpeg

La fonction de la fonction imagecreatefromjpeg est de créer une ressource image à partir d'une image au format JPEG. Son utilisation est très simple, il suffit de passer le chemin de l'image en paramètre à la fonction. Voici un exemple simple :

$source_image = imagecreatefromjpeg('source.jpg');

De cette façon, la variable $source_image devient une ressource image contenant des images JPEG, que nous pouvons ensuite traiter via d'autres fonctions de traitement d'image.

  1. fonction imagecopyresized

la fonction imagecopyresized est une fonction de mise à l'échelle des images. Il met à l'échelle une ressource d'image à une taille spécifiée et enregistre la nouvelle image dans une autre ressource d'image. La fonction est utilisée comme suit :

$destination_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresized($destination_image, $source_image, 0, 0, 0, 0, $new_width, $new_height, $original_width, $original_height);

Dans le code ci-dessus, $new_width et $new_height sont les tailles d'image mises à l'échelle auxquelles nous nous attendons, et $original_width et $original_height sont les dimensions de l'image originale. Une nouvelle ressource image $destination_image est créée via la fonction imagecreatetruecolor, puis $source_image est mise à l'échelle et copiée dans $destination_image à l'aide de la fonction imagecopyresized.

  1. fonction imagepng

La fonction imagepng est une fonction qui enregistre les ressources image au format PNG. Grâce à cette fonction, nous pouvons enregistrer les résultats du traitement d'image en PHP sous forme de fichier au format PNG. L'utilisation est la suivante :

imagepng($destination_image, 'output.png');

Le code ci-dessus enregistre la ressource image $destination_image en tant que fichier output.png.

Exemple d'application complète :

Regardons maintenant un exemple d'application complète. En combinant les trois fonctions ci-dessus, une fonction de traitement d'image simple est implémentée pour mettre à l'échelle et enregistrer l'image de l'avatar de l'utilisateur téléchargée sous forme de croquis au format PNG. Supposons qu'il existe une zone de saisie de fichier nommée avatar dans le formulaire de téléchargement de fichier frontal.

if ($_FILES['avatar']['error'] === UPLOAD_ERR_OK) {
  $source_image = imagecreatefromjpeg($_FILES['avatar']['tmp_name']);
  $original_width = imagesx($source_image);
  $original_height = imagesy($source_image);

  $new_width = 100;
  $new_height = 100;

  $destination_image = imagecreatetruecolor($new_width, $new_height);
  imagecopyresized($destination_image, $source_image, 0, 0, 0, 0, $new_width, $new_height, $original_width, $original_height);

  $output_file = 'thumbnails/' . time() . '.png';
  imagepng($destination_image, $output_file);

  imagedestroy($source_image);
  imagedestroy($destination_image);

  echo '缩略图保存成功:' . $output_file;
} else {
  echo '上传失败';
}

Avec le code ci-dessus, nous pouvons redimensionner l'avatar téléchargé par l'utilisateur à la taille de 100x100 et l'enregistrer sous forme de vignette au format PNG. Les vignettes sont nommées avec des horodatages et stockées dans le répertoire des vignettes. Dans le même temps, après avoir traité l'image, détruisez la ressource image via la fonction imagedestroy et libérez la mémoire du serveur.

En utilisant les fonctions de traitement d'image de PHP, nous pouvons facilement mettre en œuvre divers besoins de traitement d'image, tels que la génération de vignettes, l'ajout de filigranes, etc. Ces fonctions efficaces et faciles à utiliser offrent aux développeurs Web de puissantes capacités de traitement d'images et fournissent un support solide pour créer des expériences utilisateur riches. J'espère que cet article vous aidera !

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!

Déclaration:
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