Partage
  • Partager sur Facebook
  • Partager sur Twitter

image png uploadé avec fond noir

Comment maintenir le fond transparent

Sujet résolu
    19 novembre 2017 à 17:31:08

    Bonjour,

    Je chercher à uploader des images. Lorsque j'upload des image format png, j'obtient un fond noir au lieux du bon vieux fond transparent.

    J'ai donc voulu adapter mon script mais depuis ça me sort une erreur que j'ai comprise mais je ne vois pas se qui gêne (surtout que le script fonctionne si j’enlève la partie concernant le traitement du fond).

    mon script donne ça :

    $nomnewimage = $NomImageExploitable.'.png';
    $imageinitpng = imagecreatefrompng($_FILES['IngPicture']['tmp_name']);
    $dimimagepng = getimagesize($_FILES['IngPicture']['tmp_name']);
    $newheightimagepng = ($dimimagepng[1]/$dimimagepng[0])*$newwidthimage ;
    
    $newpngvraicoul = imagecreatetruecolor($newwidthimage, $newheightimagepng);
    imagealphablending($newpngvraicoul, false);
    imagesavealpha($newpngvraicoul, true);
    $newimagepng = imagecolorallocatealpha($newpngvraicoul, 255 , 255 , 255 , 127);
    
    imagecopyresampled( $newimagepng, $imageinitpng, 0, 0, 0, 0, $newwidthimage, $newheightimagepng, $dimimagepng[0] , $dimimagepng[1]);														
    imagedestroy( $imageinitpng);
    imagepng( $newimagepng, $uploaddir.$nomnewimage, 0);
    

    L'erreur obtenue est :

    Warning: imagecopyresampled() expects parameter 1 to be resource, integer given in ... on line 288

    Warning: imagepng() expects parameter 1 to be resource, integer given in ... on line 290


    J'ai beau chercher partout, je ne trouve aucune réponse.

    quelqu'un aurait une idée ? svp

    Merci

    • Partager sur Facebook
    • Partager sur Twitter

    Tony

      19 novembre 2017 à 18:03:06

      Bonjour,

      $newimagepng n'est pas une image mais une référence de couleur.

      • Partager sur Facebook
      • Partager sur Twitter
        19 novembre 2017 à 18:24:06

        Merci pour ton retour et comme quoi tous les commentaires sont utiles ;)

        J'ai donc fait quelques modifs suite à cette nouvelle compréhension ... et ça marche !!!! :p

        $nomnewimage = $NomImageExploitable.'.png';
        $imageinitpng = imagecreatefrompng($_FILES['IngPicture']['tmp_name']);
        $dimimagepng = getimagesize($_FILES['IngPicture']['tmp_name']);
        $newheightimagepng = ($dimimagepng[1]/$dimimagepng[0])*$newwidthimage ;
        
        $newimagepng = imagecreatetruecolor($newwidthimage, $newheightimagepng);
        	imagealphablending($newimagepng, false);
        		imagesavealpha($newimagepng, true);
        	$couleurtransp = imagecolorallocatealpha($newimagepng, 255 , 255 , 255 , 127);
        $newfondpng = imagecolortransparent($newimagepng, $couleurtransp);
        
        imagecopyresampled( $newimagepng, $imageinitpng, 0, 0, 0, 0, $newwidthimage, $newheightimagepng, $dimimagepng[0] , $dimimagepng[1]);														
        imagedestroy( $imageinitpng);
        imagepng( $newimagepng, $uploaddir.$nomnewimage, 4);

        Merci ;)


        -
        Edité par TonyDifi 19 novembre 2017 à 18:41:07

        • Partager sur Facebook
        • Partager sur Twitter

        Tony

        image png uploadé avec fond noir

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown