Librairie GD en php et la transparence
                    
        
     
             
                    kataklysm
    
        
    
                    Messages postés
            
                
     
             
            12
        
            
                                    Statut
            Membre
                    
                -
                                     
s.spark Messages postés 2528 Statut Contributeur -
        s.spark Messages postés 2528 Statut Contributeur -
        Bonsoir à tous,
Voilà j'aimerai savoir si quelqu'un a trouver une solution pour les images pngs et leurs transparences transparences lors du traitement d'images avec la librairies GD de php.
J'aimerai pouvoir copier une image png tout en gardant ses propriétés alpha. Ou redimentionner une image tout en gardant ces propriétés là.
Bonne soirée.
Merci d'avance pour vos réponses.
                
            
                
    
    
    
        Voilà j'aimerai savoir si quelqu'un a trouver une solution pour les images pngs et leurs transparences transparences lors du traitement d'images avec la librairies GD de php.
J'aimerai pouvoir copier une image png tout en gardant ses propriétés alpha. Ou redimentionner une image tout en gardant ces propriétés là.
Bonne soirée.
Merci d'avance pour vos réponses.
        A voir également:         
- Librairie GD en php et la transparence
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Gd group prélèvement - Forum Consommation & Internet
- Superposer deux images transparence ✓ - Forum Graphisme
- Superposer une image en transparence Paint - Forum Graphisme
3 réponses
                        
                            
                    Un peu tard mais ca peux peut etre en aider... En tres simplifié:
Je pense pas m'être trompé
    
                list($largeur, $hauteur, $type) = getimagesize($source); $img = ImageCreateFromPng($source) $l_img_final = 480; $h_img_final = 640; $im = ImageCreateTrueColor ($l_img_final, $h_img_final) imagealphablending($im,FALSE); imagesavealpha($im,TRUE); ImageCopyResampled($im, $img, 0, 0, 0, 0, $l_img_final, $h_img_final, $largeur, $hauteur);
Je pense pas m'être trompé
                        
                    Ce message est vieux mais il répond bien à la question et c'est un des rare. Donc pour les future lecteurs voici son code corrigé et complété pour ceux qui aurait du mal à le faire.
    
                <?php
$source = 'exemple.png';
list($largeur, $hauteur, $type) = getimagesize($source);
$img = imagecreatefrompng($source);
//Exemple de redimensionnement
$l_img_final = $largeur/2;// On divise la largeur final par 2
$h_img_final = $hauteur/2;// On divise la hauteur final par 2
$im = imagecreatetruecolor ($l_img_final, $h_img_final);// On crée une image 2 fois plus petite que l'original
imagealphablending($im,false); // On désactive le mode blending, obligatoire pour utiliser imagesavealpha()
imagesavealpha($im,true); // Enregistre les informations du canal alpha (transparence progressive)
imagecopyresampled($im, $img, 0, 0, 0, 0, $l_img_final, $h_img_final, $largeur, $hauteur);//Copie l'image source sur l'image créée en adaptant sa taille
imagepng($im);//Affiche ou sauvegarde une image au format PNG
//Spécifie l'entête image/png, on indique donc qu'il s'agit d'une image au format png
//Si l'image a une erreur, commentez cette ligne et vous pourrez lire l'erreur généré par PHP
header ('content-type: image/png');
//Si on ajoute cette ligne l'image ne sera pas affiché mais téléchargé
header('Content-Disposition: attachment; filename=nomfichierdefaut.png;');
?>
