[PHP] Image PNG et transparence
Flachy Joe
Messages postés
2303
Statut
Membre
-
GhosterK -
GhosterK -
Bonjour,
J'ai des problème pour utiliser la transparence sur des images PNG.
Il y a 2 scripts sur lesquels ça pose problème :
1. Lors du redimensionnement dynamique d'images, les informations de transparences sont perdues et le fond normalement transparent devient noir.
2. Je voulais faire une image transparente avec une texte noir dessus or je n'arrive pas à faire un antialisaing en dégradé de transparence. J'ai triché avec un anticrénelage en niveau de gris mais le résultat n'est pas très propre.
Si vous avez des informations à ce propos, je vous remercie de les partager.
J'ai des problème pour utiliser la transparence sur des images PNG.
Il y a 2 scripts sur lesquels ça pose problème :
1. Lors du redimensionnement dynamique d'images, les informations de transparences sont perdues et le fond normalement transparent devient noir.
2. Je voulais faire une image transparente avec une texte noir dessus or je n'arrive pas à faire un antialisaing en dégradé de transparence. J'ai triché avec un anticrénelage en niveau de gris mais le résultat n'est pas très propre.
Si vous avez des informations à ce propos, je vous remercie de les partager.
A voir également:
- [PHP] Image PNG et transparence
- Image iso - Guide
- Légender une image - Guide
- Reduire taille image - Guide
- Acronis true image - Télécharger - Sauvegarde
- Image gratuite - Guide
1 réponse
Bonsoir, cette réponse n'aidera certainement pas Falchy Joe, mais elle peut toujours servir à quelqu'un qui a le même problème, comme je l'ai eu ce soir.
En fait si le fond de l'image deviens noir après le redimensionnement, c'est parce qu'on utilise la fonction "imagecreatetruecolor" pour creer l'image de "destination de copie". Or, la fonction de cette... fonction est : "imagecreatetruecolor() retourne une ressource représentant une image noire."
Donc j'ai trouvé une solution en faisant :
Le rendu est pas super sur l'essai que j'ai fait, mais ça marche ;)
GhosterK
En fait si le fond de l'image deviens noir après le redimensionnement, c'est parce qu'on utilise la fonction "imagecreatetruecolor" pour creer l'image de "destination de copie". Or, la fonction de cette... fonction est : "imagecreatetruecolor() retourne une ressource représentant une image noire."
Donc j'ai trouvé une solution en faisant :
$fond_noir = imagecolorallocate($destination, 0, 0, 0); imagecolortransparent($destination, $fond_noir); imagepng($destination, $direction);
Le rendu est pas super sur l'essai que j'ai fait, mais ça marche ;)
GhosterK