Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > GD
GD Forum d'entraide pour l'extension GD permettant de manipuler des images en PHP. Avant de poster -> tutoriels GD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/10/2006, 21h56   #1
Invité régulier
 
Inscription : avril 2006
Messages : 50
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 50
Points : 7
Points : 7
Par défaut Problème de transparence

Bonjour,

J'ai un petit soucis avec un script de redimensionnement d'images.

Le peut que je redimensionne du png, il ne me garde pas la transparence, est-ce normal ?
Il me met a la place un fond tout noir.

Voici mon code php :

Code :
1
2
3
4
5
6
7
8
9
		//Image source
		$source = ImageCreateFromPng($this->dir."/".$this->name);
		$largeurSource = imagesx($source);
		$hauteurSource = imagesy($source);
 
		$img = ImageCreateTrueColor($this->largeurMax, $this->hauteurMax); 
 
		//Copie de l'image source dans la nouvelle
		ImageCopyResized($img, $source, 0, 0, 0, 0, $this->largeurMax, $this->hauteurMax, $largeurSource, $hauteurSource);
Merci d'avance.

Cordialement,
Bleach
bleach1234 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2006, 00h56   #2
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
generer des images n'est pas mon fort en php car je ne l'utilise pas beaucoups pour l'instant .
mais je pense que c'est parce que tu lui demande de generer du noir si je ne me trompe pas ..

Code :
ImageCopyResized($img, $source, 0, 0, 0, 0, $this->largeurMax, $this->hauteurMax, $largeurSource, $hauteurSource);
Pour ce qui est du transparent je donne la main a une personne plus competente avec la GD que je ne maitrise pas encore
bonne chance
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2006, 09h56   #3
Invité régulier
 
Inscription : avril 2006
Messages : 50
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 50
Points : 7
Points : 7
Non, c'est la gd qui défini le noir par défaut.

La fonction ImageCopyResized permet juste de redimensionner une image vers une autre.

Mais je ne pense pas que l'on peut garder la transparence en redimensionnant du png

Si quelqu'un a reussi à faire ca, ca m'interesse beaucoup

Merci comme même gtraxx
bleach1234 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2006, 11h20   #4
Invité de passage
 
Inscription : février 2003
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 5
Points : 2
Points : 2
Hello !

C'est parce que ta fonction n'est pas la bonne

Il faut utiliser ImageCopyResampled !

Moi aussi j'ai galèré là dessus mais c'est faisable
GrimR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2006, 14h20   #5
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
ahh bon je connaissais pas celle la lol .
par contre je pense que ceci fonctionne aussi :
Code :
$arriere_plan = imagecolorallocate($_img, 255, 255, 255);
mais bon je vais essayer la fonction citer plus haut pour voir
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2006, 18h17   #6
Invité de passage
 
Inscription : février 2003
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 5
Points : 2
Points : 2
d'après php.net : "Alloue une couleur pour une image"

Mais un doute me vient...

Je ne sais plus si c'est imagecopyresampled

ou si ça ne serait pas : imagecopy tout court

et je penche pour imagecopy

Quoi qu'il en soit, je sais que lorsque je l'avait fait, y'en avait une des 3 qui marchait pour la transparence Alpha.

Il ne t'en reste que 2 à tester

Bon courage
GrimR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2006, 18h55   #7
Invité régulier
 
Inscription : avril 2006
Messages : 50
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 50
Points : 7
Points : 7
Bon voila j'ai reussi à résoudre mon problème.

Il n'y avait pas différence constater avec les fonctions que vous me proposiez, j'ai donc utilisez ces deux fonctions (guidé grâce à GrimR :

Code :
1
2
3
 
		ImageSaveAlpha($img, true);
		ImageAlphaBlending($img, false);
Et puis ca à tout de suite était mieux

Merci pour votre aide

A bientot
bleach1234 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h33.


 
 
 
 
Partenaires

Hébergement Web