En PHP, le traitement des images transparentes nécessite généralement l'utilisation de la bibliothèque GD. La bibliothèque GD nous fournit une variété de fonctions pour créer, modifier et enregistrer des images, et ImageColorAllocatealpha et ImagePng () sont des fonctions très utiles. ImageColorAllocatEalpha est utilisé pour attribuer des couleurs avec des informations de transparence, tandis que l'imagepng () peut enregistrer des images au format PNG et préserver les arrière-plans transparents.
Tout d'abord, nous devons créer une ressource d'image vierge qui servira de base à notre traitement de l'image. Dans PHP, nous utilisons ImageCreateTrueColor () pour créer une image vierge.
<?php
// Créer un 400x400 Image blanche
$image = imagecreatetruecolor(400, 400);
Par défaut, l'image créée par ImageCreateTrueColor () est opaque. Afin de définir un arrière-plan transparent, nous devons définir une couleur transparente pour l'arrière-plan via ImageColorallocatealpha () . Les paramètres de cette fonction incluent les ressources d'image, les valeurs rouges, vertes, bleues et la transparence. La transparence varie de 0 à 127, où 0 signifie complètement opaque et 127 signifie complètement transparent.
<?php
// Définir les couleurs transparentes,Le quatrième paramètre 127 Indique une transparence complète
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127);
Utilisez la fonction ImageFill () pour remplir l'arrière-plan de l'image comme transparent.
<?php
// Remplissez l'arrière-plan de l'image avec des couleurs transparentes
imagefill($image, 0, 0, $transparent);
Nous pouvons maintenant dessiner d'autres éléments sur cette image de fond transparent. Par exemple, dessinez un rectangle translucide:
<?php
// Réglez la couleur du rectangle,Utiliser la transparence 50
$semiTransparent = imagecolorallocatealpha($image, 255, 0, 0, 50);
imagefilledrectangle($image, 50, 50, 350, 350, $semiTransparent);
Enfin, nous utilisons la fonction ImagePng () pour enregistrer l'image au format PNG afin que les informations transparentes d'arrière-plan et de transparence soient conservées.
<?php
// Enregistrer l'image en tant que PNG document
imagepng($image, 'output_image.png');
Après avoir terminé le traitement d'image, n'oubliez pas de libérer des ressources d'image pour éviter de consommer de la mémoire.
<?php
// Détruiser les ressources d'image
imagedestroy($image);
?>
Résumer:
Grâce aux étapes ci-dessus, nous traitons avec succès l'arrière-plan transparent de l'image en utilisant les fonctions ImageColorAllocatEalpha et ImagePng () . Lors de la réussite des paramètres de transparence dans ImageColorAllocatealPha () , la valeur de transparence peut être définie en fonction des besoins, tandis que l'imagepng () peut conserver les informations transparentes de l'image et les enregistrer au format PNG. Le fond transparent et les effets translucides sont très adaptés à la production d'images telles que les icônes, les logos, etc.