Maison >développement back-end >tutoriel php >Compétences en traitement d'images PHP révélées
Les compétences en traitement d'images PHP révélées
Dans les applications Internet modernes, le traitement d'images est l'une des exigences les plus courantes. Qu'il s'agisse de compresser, de recadrer, d'ajouter des filigranes aux images, de générer des vignettes, etc., vous devez utiliser des compétences en traitement d'image. En tant qu'excellent langage de programmation côté serveur, PHP fournit de riches fonctions de traitement d'images et des bibliothèques d'extensions, ce qui nous permet de répondre efficacement à ces besoins. Cet article révélera quelques techniques de traitement d'images PHP et fournira des exemples de code spécifiques.
La compression d'image est un moyen important pour optimiser la vitesse de chargement des sites Web et réduire la consommation de bande passante. Vous pouvez utiliser la bibliothèque GD en PHP pour la compression d'images. Voici un exemple de code pour la compression d'images à l'aide de la bibliothèque GD :
function compressImage($source, $destination, $quality) { $info = getimagesize($source); if ($info['mime'] == 'image/jpeg') { $image = imagecreatefromjpeg($source); } elseif ($info['mime'] == 'image/gif') { $image = imagecreatefromgif($source); } elseif ($info['mime'] == 'image/png') { $image = imagecreatefrompng($source); } imagejpeg($image, $destination, $quality); return $destination; } $source = 'original.jpg'; $destination = 'compressed.jpg'; $quality = 50; compressImage($source, $destination, $quality);
Dans les applications pratiques, les images doivent souvent être recadrées en fonction des besoins pour s'adapter aux différentes exigences de taille. Voici un exemple de code pour le recadrage d'images à l'aide de la bibliothèque GD :
function cropImage($source, $destination, $x, $y, $width, $height) { $info = getimagesize($source); if ($info['mime'] == 'image/jpeg') { $image = imagecreatefromjpeg($source); } elseif ($info['mime'] == 'image/gif') { $image = imagecreatefromgif($source); } elseif ($info['mime'] == 'image/png') { $image = imagecreatefrompng($source); } $crop = imagecrop($image, ['x' => $x, 'y' => $y, 'width' => $width, 'height' => $height]); imagejpeg($crop, $destination); return $destination; } $source = 'original.jpg'; $destination = 'cropped.jpg'; $x = 0; $y = 0; $width = 200; $height = 200; cropImage($source, $destination, $x, $y, $width, $height);
Le filigrane est un moyen de protéger les droits d'auteur de l'image et d'afficher les informations sur l'image. Vous pouvez facilement ajouter des filigranes aux images en utilisant PHP. Voici un exemple de code qui utilise la bibliothèque GD pour ajouter des filigranes aux images :
function addWatermark($source, $watermark, $position) { $info = getimagesize($source); if ($info['mime'] == 'image/jpeg') { $image = imagecreatefromjpeg($source); } elseif ($info['mime'] == 'image/gif') { $image = imagecreatefromgif($source); } elseif ($info['mime'] == 'image/png') { $image = imagecreatefrompng($source); } $watermarkImg = imagecreatefrompng($watermark); $watermarkWidth = imagesx($watermarkImg); $watermarkHeight = imagesy($watermarkImg); switch ($position) { case 'top-left': $x = 0; $y = 0; break; case 'top-right': $x = imagesx($image) - $watermarkWidth; $y = 0; break; case 'bottom-left': $x = 0; $y = imagesy($image) - $watermarkHeight; break; case 'bottom-right': $x = imagesx($image) - $watermarkWidth; $y = imagesy($image) - $watermarkHeight; break; default: $x = 0; $y = 0; break; } imagecopy($image, $watermarkImg, $x, $y, 0, 0, $watermarkWidth, $watermarkHeight); imagejpeg($image, $source); return $source; } $source = 'original.jpg'; $watermark = 'watermark.png'; $position = 'bottom-right'; addWatermark($source, $watermark, $position);
Lors de l'affichage d'images, afin de s'adapter aux différents besoins d'affichage, il est souvent nécessaire de générer des vignettes. Voici un exemple de code qui utilise la bibliothèque GD pour générer des vignettes :
function generateThumbnail($source, $destination, $width, $height) { $info = getimagesize($source); if ($info['mime'] == 'image/jpeg') { $image = imagecreatefromjpeg($source); } elseif ($info['mime'] == 'image/gif') { $image = imagecreatefromgif($source); } elseif ($info['mime'] == 'image/png') { $image = imagecreatefrompng($source); } $thumb = imagecreatetruecolor($width, $height); imagecopyresampled($thumb, $image, 0, 0, 0, 0, $width, $height, imagesx($image), imagesy($image)); imagejpeg($thumb, $destination); return $destination; } $source = 'original.jpg'; $destination = 'thumbnail.jpg'; $width = 200; $height = 200; generateThumbnail($source, $destination, $width, $height);
Voici quelques techniques de traitement d'image PHP et des exemples de code correspondants. En utilisant la bibliothèque GD et les fonctions de traitement d'image de PHP, nous pouvons facilement compresser, recadrer, ajouter des filigranes et générer des vignettes aux images. J'espère que cet article vous aidera lorsque vous travaillez avec des images en développement.
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!