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

Langage PHP Discussion :

Créer une image avec un fond transparent.


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mars 2020
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Créer une image avec un fond transparent.
    Bonjour à tous,

    en fait, j'essaie de redimensionner une image avec un fond transparent mais malheureusement, j'obtiens toujours un fond noir.

    Pourtant, j'ai essayé pas mal de choses mais je n'arrive pas à obtenir le résultat escompté.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
                        $im_temp = imagecreatetruecolor($th_width, $th_height);
     
                        // preserve transparency
                        if ($file_mime_type == "image/gif" || $file_mime_type == "image/png")
                        {
                            imagecolortransparent($im_temp, imagecolorallocatealpha($im_temp, 255, 255, 255, 127));
                            imagealphablending($im_temp, false);
                            imagesavealpha($im_temp, true);
                        }
     
                        imageCopyResampled($im_temp, $im_old, 0, 0, 0, 0, $th_width, $th_height, $picture_width, $picture_height);
     
                        $x0 = ( $th_width - $th_max_width ) / 2;
                        $y0 = ( $th_height - $th_max_height ) / 2;
     
                        $im_new = imagecreatetruecolor($th_max_width, $th_max_height);
     
                        // preserve transparency
                        if ($file_mime_type == "image/gif" || $file_mime_type == "image/png")
                        {
                            imagecolortransparent($im_new, imagecolorallocatealpha($im_new, 255, 255, 255, 127));
                            imagealphablending($im_new, false);
                            imagesavealpha($im_new, true);
                        }
     
                        imagecopy($im_new, $im_temp, 0, 0, $x0, $y0, $th_max_width, $th_max_height);
    Les images à partir desquelles j'ai voulu créer un thumbnail sont des images au format "jpg".

    Avez-vous une idée du problème que je rencontre et qui ne me permet pas d'avoir un fond transparent ? Comme je le disais, j'ai toujours un fond noir.

    Merci d'avance

    Bon dimanche à tous.
    Thierry

  2. #2
    Membre actif Avatar de Trehinos
    Homme Profil pro
    Analyste développeur PHP
    Inscrit en
    Novembre 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Analyste développeur PHP
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2012
    Messages : 99
    Points : 228
    Points
    228
    Par défaut
    Si votre fond est noir utilisez imagecolorallocatealpha($im_temp, 0, 0, 0, 255) à la place de imagecolorallocatealpha($im_temp, 255, 255, 255, 127).

    Les images à partir desquelles j'ai voulu créer un thumbnail sont des images au format "jpg".
    Le JPG ne gère pas la transparence. Transformez vos images en PNG par exemple =)

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/10/2008, 00h37
  2. [GD] Fusion d'une image avec un calque transparent
    Par funkyKong dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 16/08/2008, 18h46
  3. Réponses: 7
    Dernier message: 18/07/2007, 15h52
  4. Obtenir une image avec un fond transparent
    Par LeXo dans le forum Imagerie
    Réponses: 9
    Dernier message: 28/03/2007, 11h38
  5. [Image]Créer une image avec JAVA 1.1
    Par burno dans le forum 2D
    Réponses: 4
    Dernier message: 11/08/2004, 09h19

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