Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > Imagick
Imagick Forum d'entraide pour l'extension Imagick permettant de manipuler des images en PHP (port de l'API ImageMagick).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/10/2007, 18h02   #1
Membre du Club
 
Avatar de kryogen
 
Inscription : mars 2007
Messages : 134
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2007
Messages : 134
Points : 69
Points : 69
Par défaut [ImageMagick] Problème de transparence avec imagecopyresampled()

Bonjour,

J'utilise la fonction imagecopyresampled() pour redimensionner des images.
Pas de problème tout se passe bien, excepté qu'il supprime la transparence des images en png.

un extrait du code , ça aide toujours :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
//generer vignettes png
$nom_img = $_FILES['image']['name'];
 
$source = imagecreatefrompng("illustrations/$nom_img"); // La photo est la source
 
$proportion_h = 200 / (imagesx($source)/imagesy($source));
$destination = imagecreatetruecolor(200, $proportion_h); // On crée la miniature vide
 
// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);
 
// On crée la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
 
// On enregistre la miniature
imagepng($destination, $chemin_destination.'mini_'.$nom_img);
Comment faire pour la conserver ?

Merci
kryogen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 14h05   #2
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Je cherche aussi une solution à ce problème, la transparence de l'image est remplacée par un fond noir.

Que faire?

Merci.
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2007, 19h46   #3
Invité régulier
 
Inscription : juillet 2006
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 8
Points : 5
Points : 5
coucou!!
essaye d'adapter ce script sur le tien ça marchera !!
Code :
1
2
3
4
5
6
7
8
9
	elseif ($ext == '.gif')
		{
			$src_im =imagecreatefromgif($im_src);
			imagecopyresampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h); 
			imagealphablending($dst_im, false );		
			$col = imagecolorallocatealpha($dst_im, 0, 0, 0, 127 );		
			imagefill( $dst_im ,0,0, $col );
			imagecolortransparent($dst_im, $col);
		}
voila
Thiouzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h42.


 
 
 
 
Partenaires

Hébergement Web