IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[GD] Problème de transparence


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 52
    Points : 37
    Points
    37
    Par défaut [GD] 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 52
    Points : 37
    Points
    37
    Par défaut
    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

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    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

  5. #5
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    ahh bon je connaissais pas celle la lol .
    par contre je pense que ceci fonctionne aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $arriere_plan = imagecolorallocate($_img, 255, 255, 255);
    mais bon je vais essayer la fonction citer plus haut pour voir
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    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

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 52
    Points : 37
    Points
    37
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    		ImageSaveAlpha($img, true);
    		ImageAlphaBlending($img, false);
    Et puis ca à tout de suite était mieux

    Merci pour votre aide

    A bientot

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ImageList] problème de transparence
    Par Rayek dans le forum Delphi
    Réponses: 7
    Dernier message: 19/05/2006, 11h12
  2. Réponses: 13
    Dernier message: 01/12/2005, 05h34
  3. Réponses: 5
    Dernier message: 18/03/2005, 20h10
  4. [DX9] [Debutant] Problème de transparence :(
    Par SekYo dans le forum DirectX
    Réponses: 5
    Dernier message: 10/09/2004, 14h19
  5. Réponses: 8
    Dernier message: 06/07/2004, 18h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo