Dans le développement Web, nous devons souvent ajouter des filigranes à des images, telles que la superposition des marques, du texte ou des couches transparentes sur les images du produit pour empêcher les images d'être volées ou utilisées pour l'identité de la marque. En PHP, la bibliothèque GD fournit des fonctions de traitement d'image riches, et l'imagecolorallocatealpha est l'une des clés de la mise en œuvre de couleurs transparentes.
Cet article expliquera en détail comment utiliser la fonction ImageColorAllocatealpha pour ajouter un filigrane de texte translucide à l'image.
ImageColorAllocatEalpha est une fonction de la bibliothèque PHP GD qui est utilisée pour attribuer une couleur sur l'image et peut spécifier sa transparence (valeur alpha). Sa définition de fonction est la suivante:
int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )
dans:
$ Image : Ressource d'image cible.
$ rouge, $ vert, $ bleu : composant RVB de la couleur (0–255).
$ alpha : transparence, avec des valeurs allant de 0 (complètement opaque) à 127 (complètement transparente).
Remarque: Ceci est différent du concept d'alpha dans CSS. L'alpha de CSS est 0 pour être transparent, tandis que le 0 signifie opaque.
Ensuite, nous utilisons un exemple complet pour ajouter un filigrane de texte translucide à une image.
Supposons que nous ayons une image: https://m66.net/images/sample.jpg .
<?php
// Chargez l'image d'origine
$imagePath = 'https://m66.net/images/sample.jpg';
$image = imagecreatefromjpeg($imagePath);
// Définition des fichiers de police(Assurez-vous qu'il y a ce fichier sur le serveur)
$fontFile = './arial.ttf'; // Veuillez utiliser celui réel ttf Chemin de fichier de police
// Attribuer des couleurs translucides(Blanc,transparence 50%)
$whiteAlpha = imagecolorallocatealpha($image, 255, 255, 255, 63); // alpha 63 ≈ translucide
// Ajouter un filigrane de texte
$text = 'm66.net';
$fontSize = 20;
$x = 20;
$y = 50;
imagettftext($image, $fontSize, 0, $x, $y, $whiteAlpha, $fontFile, $text);
// Image de sortie au navigateur
header('Content-Type: image/jpeg');
imagejpeg($image);
// Détruiser les ressources d'image
imagedestroy($image);
?>
? Chargement des images <br> Nous utilisons ImageCreateFromJPEG pour charger une image JPEG, vous pouvez également utiliser ImageCreateFrommpng ou ImageCreateFromGif selon les besoins.
? Attribuer des couleurs avec transparence
ImageColorAllocatEalpha ($ Image, 255, 255, 255, 63) se voit attribuer une couleur translucide blanche. 63 est d'environ 50% de transparence (127/2).
? Ajouter du texte
ImageTtFText est utilisé pour dessiner du texte dans une police TrueType sur une image, et le chemin du fichier de police est requis.
? Sortie et destruction <br> Nous définissons le type de réponse via l'en-tête ('Content-Type: Image / JPEG') , puis utilisons ImageJPEG pour sortir l'image vers le navigateur. Enfin, utilisez ImageStroy pour libérer de la mémoire.
La bibliothèque GD doit être activée : assurez-vous que la bibliothèque GD est installée et activée dans votre environnement PHP.
Le chemin du fichier de police est correct : ImageTtFText nécessite un fichier de police (.TTF). Si le chemin est faux, le texte ne sera pas affiché.
Enregistrer dans le fichier : si vous ne souhaitez pas sortir directement vers le navigateur, vous pouvez l'enregistrer dans le fichier à l'aide d' imagejpeg ($ image, 'output.jpg') .
Avec ImageColorallocatEalpha , nous pouvons facilement attribuer des couleurs transparentes aux images pour obtenir divers effets transparents. Lors de la combinaison de fonctions telles que ImagettfText ou ImageFildRectangle , des filigranes translucides professionnels peuvent être créés, qui sont à la fois beaux et pratiques.
La prochaine fois que vous devez protéger vos photos, vous pourriez aussi bien essayer d'utiliser PHP pour générer votre propre filigrane! Si vous avez besoin d'un exemple de code complet ou de conseils de filigrane, vous pouvez laisser un message et je continuerai à partager plus de contenu en profondeur.