Maison développement back-end tutoriel php Comment utiliser la bibliothèque GD pour traiter des images en PHP ?

Comment utiliser la bibliothèque GD pour traiter des images en PHP ?

Sep 13, 2023 pm 01:28 PM
图片处理 php gd库 图片编辑

Comment utiliser la bibliothèque GD pour traiter des images en PHP ?

Comment utiliser la bibliothèque GD pour traiter des images en PHP ?

La bibliothèque GD est une puissante bibliothèque de traitement d'image. L'utilisation de la bibliothèque GD en PHP peut implémenter certaines fonctions de traitement d'image simples, telles que le recadrage, la mise à l'échelle, l'ajout de filigranes, etc. Cet article expliquera comment utiliser la bibliothèque GD pour traiter des images en PHP et donnera quelques exemples de code spécifiques.

Tout d'abord, assurez-vous que l'extension de la bibliothèque GD est activée sur le serveur. Vous pouvez rechercher et décommenter "extension=gd" dans le fichier php.ini, puis redémarrer le serveur.

Ensuite, examinons quelques opérations courantes de traitement d’image.

  1. Création de vignettes

Pour créer des vignettes, nous utilisons la fonction imagecopyresampled de la bibliothèque GD pour réduire l'image originale à la taille spécifiée. Voici un exemple de code :

function createThumbnail($src, $dst, $width, $height) {
    $src_img = imagecreatefromjpeg($src); // 从原图像创建一个图像资源
    $dst_img = imagecreatetruecolor($width, $height); // 创建一个指定大小的新图像资源
    $src_width = imagesx($src_img); // 原图像的宽度
    $src_height = imagesy($src_img); // 原图像的高度
    $ratio = max($width / $src_width, $height / $src_height); // 计算缩放比例
    $new_width = ceil($src_width * $ratio); // 计算缩略图的宽度
    $new_height = ceil($src_height * $ratio); // 计算缩略图的高度
    $x_offset = ($new_width - $width) / 2; // 计算水平偏移量
    $y_offset = ($new_height - $height) / 2; // 计算垂直偏移量
    imagecopyresampled($dst_img, $src_img, -$x_offset, -$y_offset, 0, 0, $new_width, $new_height, $src_width, $src_height); // 缩放图像
    imagejpeg($dst_img, $dst); // 将缩略图保存到指定路径
    imagedestroy($src_img); // 销毁图像资源
    imagedestroy($dst_img);
}

// 示例使用
$source_image = 'original.jpg'; // 原图像路径
$thumbnail_image = 'thumbnail.jpg'; // 生成的缩略图路径
$thumbnail_width = 200; // 缩略图宽度
$thumbnail_height = 150; // 缩略图高度
createThumbnail($source_image, $thumbnail_image, $thumbnail_width, $thumbnail_height);
Copier après la connexion
  1. Ajouter un filigrane

Pour ajouter un filigrane, nous utilisons la fonction imagecopy de la bibliothèque GD pour superposer l'image du filigrane sur l'image originale à la position spécifiée. Voici un exemple de code :

function addWatermark($src, $dst, $watermark) {
    $src_img = imagecreatefromjpeg($src); // 从原图像创建一个图像资源
    $watermark_img = imagecreatefrompng($watermark); // 从水印图像创建一个图像资源
    $src_width = imagesx($src_img); // 原图像的宽度
    $src_height = imagesy($src_img); // 原图像的高度
    $watermark_width = imagesx($watermark_img); // 水印图像的宽度
    $watermark_height = imagesy($watermark_img); // 水印图像的高度
    $x_offset = $src_width - $watermark_width - 10; // 水印图像的水平偏移量
    $y_offset = $src_height - $watermark_height - 10; // 水印图像的垂直偏移量
    imagecopy($src_img, $watermark_img, $x_offset, $y_offset, 0, 0, $watermark_width, $watermark_height); // 将水印图像覆盖在原图像上
    imagejpeg($src_img, $dst); // 将带有水印的图像保存到指定路径
    imagedestroy($src_img); // 销毁图像资源
    imagedestroy($watermark_img);
}

// 示例使用
$source_image = 'original.jpg'; // 原图像路径
$watermark_image = 'watermark.png'; // 水印图像路径
$watermarked_image = 'watermarked.jpg'; // 带有水印的图像路径
addWatermark($source_image, $watermarked_image, $watermark_image);
Copier après la connexion

Grâce à l'exemple de code ci-dessus, nous pouvons utiliser la bibliothèque GD pour traiter des images en PHP afin de générer des vignettes et ajouter des filigranes. Bien entendu, la bibliothèque GD prend également en charge davantage d'opérations de traitement d'image, telles que la rotation de l'image, l'ajout de bordures d'image, etc., et peut être étendue en fonction des besoins réels.

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Traitement d'image Golang : comment effectuer un mappage de dégradés de couleurs et d'échelles de gris d'images Traitement d'image Golang : comment effectuer un mappage de dégradés de couleurs et d'échelles de gris d'images Aug 19, 2023 am 08:53 AM

Traitement d'images Golang : Comment effectuer un mappage de dégradés de couleurs et d'échelles de gris d'images Introduction : Avec le développement des médias numériques, le traitement d'images est devenu un élément indispensable de notre vie quotidienne. Dans le langage Go, nous pouvons utiliser certaines bibliothèques pour le traitement d'images, comme github.com/disintegration/imaging. Cet article explique comment utiliser cette bibliothèque pour effectuer un mappage de dégradés de couleurs et d'échelles de gris d'images. 1. Présentation de la bibliothèque Tout d'abord, nous devons introduire github.com/ dans le projet Go

Comment utiliser Golang pour améliorer les bordures et les bords des images Comment utiliser Golang pour améliorer les bordures et les bords des images Aug 18, 2023 pm 09:46 PM

Présentation de la façon d'utiliser Golang pour améliorer les bordures et les bords des images : Dans le domaine du traitement d'images, l'amélioration des bordures et des bords est une technologie couramment utilisée qui peut améliorer efficacement les effets visuels des images et améliorer la précision de la reconnaissance d'images. Cet article expliquera comment utiliser le langage Golang pour effectuer des opérations d'amélioration des bordures et des bords sur des images et fournira des exemples de code correspondants. Remarque : Cet article suppose que vous avez installé et configuré l'environnement de développement Golang dans votre environnement local. Importer des packages de dépendances Tout d’abord, nous devons importer les packages de dépendances suivants pour les opérations de traitement d’image

Conseils de développement Laravel : Comment optimiser le traitement des images et la mise en cache Conseils de développement Laravel : Comment optimiser le traitement des images et la mise en cache Nov 22, 2023 am 09:17 AM

Suggestions de développement Laravel : Comment optimiser le traitement des images et la mise en cache Introduction Dans le développement Web moderne, le traitement des images et la mise en cache sont un problème courant et important. L'optimisation des stratégies de traitement des images et de mise en cache améliore non seulement les performances du site Web et l'expérience utilisateur, mais réduit également la consommation de bande passante et la charge du serveur. Cet article explorera les méthodes et suggestions sur la façon d'optimiser le traitement des images et la mise en cache dans le développement Laravel. 1. Choisissez le format d'image approprié Le choix du format d'image approprié est la première étape de l'optimisation du traitement de l'image. Les formats d'image courants incluent JPEG, PNG

Comment flouter une image en utilisant PHP Comment flouter une image en utilisant PHP Aug 18, 2023 pm 02:13 PM

Comment utiliser PHP pour flouter des images Le flou d'image est une opération courante dans le traitement d'image, qui peut ajouter un effet de flou à l'image pour lui donner un aspect plus doux et artistique. En PHP, nous pouvons utiliser la bibliothèque GD pour flouter les images. Ce qui suit explique comment utiliser PHP pour flouter les images et joint des exemples de code correspondants. Installation de la bibliothèque GD Avant de commencer, vous devez vous assurer que la bibliothèque GD est installée sur votre serveur. Vous pouvez le faire en ajoutant la fonction phpinfo() à votre fichier PHP

Comment utiliser Golang pour masquer et masquer les effets sur les images Comment utiliser Golang pour masquer et masquer les effets sur les images Aug 27, 2023 am 09:07 AM

Comment utiliser Golang pour masquer et masquer les effets sur les images Dans le traitement d'images moderne, le masquage et les effets de masquage sont des effets spéciaux très courants. Cet article expliquera comment utiliser Golang pour masquer et masquer les effets sur les images. Installation des bibliothèques nécessaires Avant de commencer, nous devons installer certaines bibliothèques nécessaires au traitement des images. Exécutez la commande suivante pour installer les bibliothèques nécessaires : goget-ugithub.com/fogleman/gggoget-ugolang.org/x/im

Comment ajouter du bruit aux images en utilisant Python Comment ajouter du bruit aux images en utilisant Python Aug 19, 2023 am 11:21 AM

Comment utiliser Python pour ajouter du bruit aux images Introduction : Avec le développement de la technologie, le traitement d'image numérique est devenu une méthode de traitement d'image courante. Parmi eux, l'ajout de bruit à l'image est une étape importante du traitement de l'image. En ajoutant du bruit, le réalisme et la complexité de l'image peuvent être améliorés. Cet article expliquera comment utiliser Python pour ajouter du bruit aux images et fournira des exemples de code pertinents. 1. Comprendre le bruit de l'image Le bruit de l'image fait référence à des perturbations aléatoires qui affectent la qualité et la clarté de l'image. Les bruits d'image courants incluent le bruit gaussien,

Comment gérer la mise en cache et le préchargement des images dans Vue ? Comment gérer la mise en cache et le préchargement des images dans Vue ? Aug 25, 2023 pm 04:21 PM

Comment gérer la mise en cache et le préchargement des images dans Vue ? Lors du développement de projets Vue, nous devons souvent gérer la mise en cache et le préchargement des images pour améliorer les performances du site Web et l'expérience utilisateur. Cet article présentera quelques méthodes de gestion de la mise en cache et du préchargement des images dans Vue, et donnera des exemples de code correspondants. 1. La mise en cache des images utilise le chargement différé des images (LazyLoading) Le chargement différé des images est une technologie qui retarde le chargement des images, c'est-à-dire que l'image n'est pas chargée jusqu'à ce que la page défile jusqu'à l'emplacement de l'image. Cela réduit les demandes de ressources d'image lors du premier chargement de la page

Comment utiliser Laravel pour implémenter des fonctions de traitement d'image Comment utiliser Laravel pour implémenter des fonctions de traitement d'image Nov 04, 2023 pm 12:46 PM

Comment utiliser Laravel pour implémenter des fonctions de traitement d'images nécessite des exemples de code spécifiques. De nos jours, avec le développement d'Internet, le traitement d'images est devenu un élément indispensable du développement de sites Web. Laravel est un framework PHP populaire qui nous fournit de nombreux outils pratiques pour traiter les images. Cet article expliquera comment utiliser Laravel pour implémenter des fonctions de traitement d'image et donnera des exemples de code spécifiques. Installer LaravelInterventionImageInterven

See all articles