Maison  >  Article  >  développement back-end  >  Comment ajouter un filigrane aux images en utilisant PHP

Comment ajouter un filigrane aux images en utilisant PHP

王林
王林original
2023-08-26 23:48:141307parcourir

Comment ajouter un filigrane aux images en utilisant PHP

Comment ajouter un filigrane aux images en utilisant PHP

Introduction :
Dans le développement Web, afin de protéger les droits d'auteur des images et d'ajouter des effets personnalisés, nous avons souvent besoin d'ajouter des filigranes aux images. Dans cet article, je vais vous présenter comment utiliser PHP pour ajouter des filigranes aux images et donner des exemples de code correspondants.

Étape 1 : Obtenir le chemin de l'image et l'image en filigrane
Avant d'ajouter un filigrane à l'image, nous devons obtenir le chemin de l'image à traiter et l'image en filigrane. Ceci peut être réalisé grâce au code suivant :

$imgPath = "path/to/image.jpg";  // 待处理图片路径
$watermarkPath = "path/to/watermark.png";  // 水印图片路径

Étape 2 : Créer une nouvelle image avec un filigrane
Ensuite, nous devons créer une nouvelle image et fusionner l'image à traiter et l'image en filigrane dans la nouvelle image. Ceci peut être réalisé par le code suivant :

// 获取待处理图片信息
$imgInfo = getimagesize($imgPath); 
$imgWidth = $imgInfo[0];  // 图片宽度
$imgHeight = $imgInfo[1];  // 图片高度

// 创建一个带有水印的新图片
$newImg = imagecreatefromjpeg($imgPath);

// 获取水印图片信息
$wmInfo = getimagesize($watermarkPath);
$wmWidth = $wmInfo[0];  // 水印图片宽度
$wmHeight = $wmInfo[1];  // 水印图片高度

// 计算水印图片在新图片中的位置
$posX = $imgWidth - $wmWidth - 10;  // 水印图片的X坐标
$posY = $imgHeight - $wmHeight - 10;  // 水印图片的Y坐标

// 合并水印图片到新图片中
$watermark = imagecreatefrompng($watermarkPath);
imagecopy($newImg, $watermark, $posX, $posY, 0, 0, $wmWidth, $wmHeight);

Étape 3 : Sortir ou enregistrer une nouvelle image avec un filigrane
La dernière étape consiste à sortir ou enregistrer une nouvelle image avec un filigrane, selon nos besoins. Ceci peut être réalisé grâce au code suivant :

// 输出带有水印的新图片
header('Content-Type: image/jpeg');
imagejpeg($newImg);

// 或者保存带有水印的新图片
$newImgPath = "path/to/newImage.jpg";  // 保存路径
imagejpeg($newImg, $newImgPath);

// 释放内存
imagedestroy($newImg);
imagedestroy($watermark);

Résumé :
Grâce aux étapes ci-dessus, nous pouvons facilement utiliser PHP pour ajouter des filigranes aux images, protéger les droits d'auteur et augmenter l'effet personnalisé des images. Il convient de noter qu'en fonction de la situation réelle, nous pouvons ajuster la position et la transparence de l'image du filigrane pour obtenir le meilleur effet. J'espère que cet article pourra être utile à tout le monde !

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