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
- Gd group prélèvement - Forum Consommation & Internet
- Expert php pinterest - Télécharger - Langages
- Superposer deux images transparence ✓ - Forum Graphisme
- Php alert ✓ - Forum PHP
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;');
?>