Compétences en traitement d'images PHP : comment ajouter des filigranes et du texte
Dans le développement de sites Web, le traitement d'images est une exigence courante. Plusieurs fois, nous devons ajouter des filigranes ou du texte aux images pour protéger les droits d'auteur de l'image ou ajouter des informations supplémentaires. En tant que puissant langage de script côté serveur, PHP fournit de riches fonctions de traitement d'images. Cet article explique comment utiliser PHP pour ajouter des filigranes et du texte aux images.
Ajouter un filigrane
L'ajout d'un filigrane est un besoin courant, il peut protéger efficacement les droits d'auteur des images et augmenter la beauté des images. Vous trouverez ci-dessous un exemple de code PHP qui montre comment ajouter un filigrane sur une image à l'aide de la bibliothèque GD :
<?php // 创建画布,打开图片 $image = imagecreatefromjpeg('image.jpg'); $watermark = imagecreatefrompng('watermark.png'); // 获取图片和水印的宽高 $imageWidth = imagesx($image); $imageHeight = imagesy($image); $watermarkWidth = imagesx($watermark); $watermarkHeight = imagesy($watermark); // 计算水印的位置 $positionX = $imageWidth - $watermarkWidth - 10; // 水印距离右边10像素 $positionY = $imageHeight - $watermarkHeight - 10; // 水印距离底部10像素 // 将水印复制到图片上 imagecopy($image, $watermark, $positionX, $positionY, 0, 0, $watermarkWidth, $watermarkHeight); // 输出图片 header('Content-Type: image/jpeg'); imagejpeg($image); // 释放内存 imagedestroy($image); imagedestroy($watermark); ?>
Dans cet exemple, nous créons d'abord un canevas et ouvrons l'image à laquelle nous voulons ajouter un filigrane et l'image du filigrane. Obtenez ensuite la largeur et la hauteur de l'image et du filigrane grâce aux fonctions imagesx()
et imagesy()
, qui serviront à calculer la position du filigrane. Utilisez ensuite la fonction imagecopy()
pour copier le filigrane sur l'image et affichez l'image finale via la fonction imagejpeg()
. Enfin, utilisez la fonction imagedestroy()
pour libérer la mémoire. imagesx()
和imagesy()
函数获取图片和水印的宽高,这将用于计算水印的位置。接着使用imagecopy()
函数将水印复制到图片上,并通过imagejpeg()
函数输出最终的图片。最后使用imagedestroy()
函数释放内存。
添加文字
除了水印,在图片上添加文字也是常见的需求。PHP提供了imagettftext()
函数可以方便地在图片上添加自定义文字。下面是一个PHP示例代码,演示如何在图片上添加文字:
<?php // 创建画布,打开图片 $image = imagecreatefromjpeg('image.jpg'); // 设置文字颜色 $textColor = imagecolorallocate($image, 255, 255, 255); // 设置字体 $font = 'arial.ttf'; // 添加文字 $text = 'Hello, World!'; imagettftext($image, 30, 0, 10, 50, $textColor, $font, $text); // 输出图片 header('Content-Type: image/jpeg'); imagejpeg($image); // 释放内存 imagedestroy($image); ?>
在这个示例中,我们首先创建了一个画布并打开要添加文字的图片。然后使用imagecolorallocate()
函数设置文字颜色,这里我们使用纯白色。接着设置字体,这里使用了arial.ttf
字体文件,你可以根据需求选择其他字体。最后通过imagettftext()
函数将文字添加到图片上,并通过imagejpeg()
函数输出最终的图片。同样,我们使用imagedestroy()
En plus des filigranes, l'ajout de texte aux images est également une exigence courante. PHP fournit la fonction imagettftext()
pour ajouter facilement du texte personnalisé aux images. Voici un exemple de code PHP qui montre comment ajouter du texte sur une image :
rrreee
imagecolorallocate()
pour définir la couleur du texte. Ici, nous utilisons du blanc pur. Définissez ensuite la police. Le fichier de police arial.ttf
est utilisé ici. Vous pouvez choisir d'autres polices en fonction de vos besoins. Enfin, le texte est ajouté à l'image via la fonction imagettftext()
, et l'image finale est sortie via la fonction imagejpeg()
. De même, nous utilisons la fonction imagedestroy()
pour libérer de la mémoire. 🎜🎜Conclusion🎜En utilisant la bibliothèque GD de PHP, nous pouvons facilement ajouter des filigranes et du texte aux images. Qu'il s'agisse de protéger les droits d'auteur d'une image ou d'ajouter des informations supplémentaires, ces conseils peuvent nous aider à mieux travailler avec les images. J'espère que cet article pourra vous être utile. 🎜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!