Maison  >  Article  >  développement back-end  >  Comment générer des filigranes dynamiques de texte et d'image à l'aide de tableaux PHP

Comment générer des filigranes dynamiques de texte et d'image à l'aide de tableaux PHP

WBOY
WBOYoriginal
2023-07-15 19:43:37672parcourir

Comment générer des filigranes dynamiques de texte et d'image à l'aide de tableaux PHP

Introduction :
Dans le développement Web, la génération dynamique de filigranes de texte et d'image est une exigence très courante. Le tableau PHP est une structure de données très puissante. Lors de la génération de filigranes dynamiques de texte et d'image, nous pouvons utiliser des tableaux PHP pour réaliser des opérations rapides, flexibles et efficaces. Cet article expliquera comment utiliser les tableaux PHP pour générer des filigranes dynamiques de texte et d'image, et fournira des exemples de code pertinents.

1. Générer un filigrane de texte dynamique

  1. Créer un tableau de filigrane de texte :
    Supposons que nous souhaitions générer un filigrane de texte dont le contenu est le nom d'utilisateur et l'heure de génération. Tout d'abord, nous pouvons créer un tableau PHP contenant le nom d'utilisateur et l'heure de génération :
$watermark = array(
    'username' => 'John Smith',
    'timestamp' => date('Y-m-d H:i:s')
);
  1. Utilisez le tableau pour générer un filigrane de texte :
    Ensuite, nous pouvons utiliser les valeurs du tableau PHP pour générer un filigrane de texte :
$textWatermark = sprintf('Username: %s, Generated at: %s', $watermark['username'], $watermark['timestamp']);

Dans l'exemple ci-dessus, nous avons utilisé la fonction sprintf pour renseigner le nom d'utilisateur et l'heure de génération dans le modèle de filigrane de texte.

2. Générer un filigrane d'image dynamique

  1. Créer un tableau de filigranes d'image :
    Si nous voulons générer un filigrane d'image, y compris l'avatar de l'utilisateur et le temps de génération. Nous pouvons créer un tableau PHP contenant le chemin de l'image de l'avatar et l'heure de génération :
$watermark = array(
    'avatar' => '/path/to/avatar.jpg',
    'timestamp' => date('Y-m-d H:i:s')
);
  1. Utilisez le tableau pour générer un filigrane d'image :
    Ensuite, nous pouvons utiliser la bibliothèque PHP GD pour synthétiser l'avatar et l'heure de génération dans un filigrane d'image :
// 创建图像资源
$originalImage = imagecreatefromjpeg($watermark['avatar']);

// 获取原始图像宽度和高度
$originalWidth = imagesx($originalImage);
$originalHeight = imagesy($originalImage);

// 创建包含生成时间的文本水印
$textWatermark = $watermark['timestamp'];
$textWidth = imagefontwidth(5) * strlen($textWatermark);
$textHeight = imagefontheight(5);

// 创建水印图像资源
$watermarkImage = imagecreatetruecolor($originalWidth, $originalHeight);

// 设置透明背景
imagefill($watermarkImage, 0, 0, imagecolorallocatealpha($watermarkImage, 255, 255, 255, 127));
imagesavealpha($watermarkImage, true);

// 复制原始图像到水印图像
imagecopy($watermarkImage, $originalImage, 0, 0, 0, 0, $originalWidth, $originalHeight);

// 在水印图片上添加文本水印
imagettftext($watermarkImage, 12, 0, 10, $originalHeight - 10, imagecolorallocate($watermarkImage, 255, 255, 255), '/path/to/font.ttf', $textWatermark);

// 输出合成后的图像
header('Content-Type: image/jpeg');
imagejpeg($watermarkImage);

// 释放资源
imagedestroy($originalImage);
imagedestroy($watermarkImage);

Dans l'exemple ci-dessus, nous créons d'abord la ressource image originale à l'aide de la fonction imagecreatefromjpeg. Ensuite, créez une ressource d'image égale à la taille de l'image originale via la fonction imagecreatetruecolor pour stocker l'image de filigrane synthétisée. Ensuite, nous utilisons la fonction imagecopy pour copier l’image originale dans l’image en filigrane. Enfin, utilisez la fonction imagettftext pour ajouter des filigranes de texte à l'image en filigrane et envoyez l'image synthétisée au navigateur via la fonction imagejpeg.

Conclusion : 
Utiliser des tableaux PHP pour générer des filigranes dynamiques de texte et d'image est une méthode très flexible et efficace. Nous pouvons utiliser des tableaux PHP combinés avec des fonctions intégrées et les fonctions de la bibliothèque GD pour mettre en œuvre rapidement divers besoins. Grâce à l'introduction de cet article, je pense que les lecteurs comprennent mieux comment utiliser les tableaux PHP pour générer des filigranes dynamiques de texte et d'image, et peuvent les appliquer de manière flexible en fonction de besoins spécifiques.

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