Maison > développement back-end > Problème PHP > Comment définir l'arrière-plan d'une image pour qu'il soit transparent en php

Comment définir l'arrière-plan d'une image pour qu'il soit transparent en php

PHPz
Libérer: 2023-04-12 14:30:34
original
2055 Les gens l'ont consulté

À mesure que la conception de sites Web devient plus complexe, les développeurs explorent constamment de nouvelles façons de les rendre plus dynamiques et plus conviviaux. Parmi eux, la définition d’une image avec un arrière-plan transparent est largement utilisée dans les pages Web ou les applications. En PHP, vous pouvez définir l'arrière-plan d'une image pour qu'il soit transparent avec quelques lignes de code simples et personnalisables.

  1. Utilisation de la bibliothèque GD

La bibliothèque GD est une bibliothèque PHP open source qui fournit une série de fonctions qui peuvent être utilisées dans les scripts PHP pour opérer la génération et la manipulation d'images afin d'effectuer diverses tâches. Ce qui suit est un exemple de code PHP pour définir l'arrière-plan de l'image comme transparent :

<?php
//读取图片
$filename = &#39;image.png&#39;;
$img = imagecreatefrompng($filename);

//设置透明度
imagecolortransparent($img, imagecolorallocatealpha($img, 0, 0, 0, 127));
imagealphablending($img, false);
imagesavealpha($img, true);

//输出图片
header(&#39;Content-Type: image/png&#39;);
imagepng($img);

//释放内存
imagedestroy($img);
?>
Copier après la connexion

Le cœur de ce code est d'utiliser trois fonctions dans la bibliothèque GD :

imagecreatefrompng — Créer une ressource d'image PNG.

imagecolortransparent — Déclare une couleur comme transparente. Deux paramètres sont requis, le premier est la ressource image et le second est l'ID de la couleur à déclarer transparente.

imagepng — Génère une image PNG.

La deuxième ligne du code lit le fichier PNG et les quatrième à sixième lignes définissent son arrière-plan comme transparent. Dans celui-ci, la fonction imagecolorallocatealpha renvoie l'ID d'une couleur. Après avoir défini la transparence, elle est à nouveau utilisée dans la fonction imagecolorallocatealpha à la ligne 6.

La dernière ligne génère une image PNG transparente. En supprimant le contenu de l’en-tête, vous pouvez l’utiliser comme arrière-plan de la page.

  1. Utilisez ImageMagick

ImageMagick est un logiciel puissant pour créer, éditer et combiner des images bitmap, fournissant un PNG en niveaux de gris plus petit à partir de la ligne de commande.

Ce qui suit est un exemple de code Magick d'image pour définir l'arrière-plan de l'image sur transparent :

<?php
//读取图片
$filename = "image.jpg";
$img = new \Imagick($filename);

// 贴到一个透明背景上面
$img->evaluateImage(\Imagick::EVALUATE_MULTIPLY, 0.0, \Imagick::CHANNEL_ALPHA);

//输出图片
header("Content-Type: image/png");
echo $img;
exit;

//释放内存
$img->clear();
$img->destroy();
Copier après la connexion

Dans cet exemple, utilisez d'abord un nouvel objet Imagick pour instancier l'image à afficher. Ensuite, sur la quatrième ligne, une valeur de couleur est calculée via la fonction évaluerImage et définie sur transparente.

Sortez le résultat de cette fonction (une image transparente). Le dernier ensemble de commandes est utilisé pour libérer l'image et les ressources qu'elle utilise.

Résumé

Quelle que soit la méthode que vous choisissez, vous pouvez définir l'arrière-plan d'une image pour qu'il soit transparent avec seulement quelques lignes de code. Lors de votre prochain développement Web ou d'application, essayez l'une de ces méthodes pour créer un design plus dynamique et attrayant.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal