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 17/09/2007, 17h42   #1
Membre du Club
 
Avatar de Phenomenium
 
Inscription : janvier 2004
Messages : 185
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : janvier 2004
Messages : 185
Points : 57
Points : 57
Par défaut [ImageMagick] Problème avec imagecreatefrompng

Bonjour.
J'ai une fonction pour redimenssioner une image png.
Le probleme est que je perd ma transparence apres l'avoir redimenssioner, quelqu'un peu me dire pourquoi ?

Voila la fonction :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
$src_im = imagecreatefrompng($image);				
$src_w = $size[0];
$src_h = $size[1];					
$dst_w = 120; 
$dst_h = round(($dst_w / $src_w) * $src_h);
$dst_im = imagecreate($dst_w,$dst_h);
imagecopyresampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);	
imagepng($dst_im, 'upload/modules/produits/photos/normale/' . $produits["pro_img"]);
imagedestroy($dst_im);
imagedestroy($src_im);
PHP 4, testé sous firefox, IE 7, IE 6

Merci, besoin de plus de précisions ?
Phenomenium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2007, 17h53   #2
Rédacteur/Modérateur
 
Avatar de N1bus
 
Inscription : janvier 2003
Messages : 2 018
Détails du profil
Informations personnelles :
Âge : 47
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : janvier 2003
Messages : 2 018
Points : 1 992
Points : 1 992
Bonjour,

Code :
$dst_im = imagecreate($dst_w,$dst_h);
Peut-être qu'il faut mettre une couleur (imagecolorallocate() ) aprés le imagecreate() puis utiliser imagecolortransparent()

On dirait que le imagecreate() te fait une image avec une couleur par défaut (noir ? blanc ?)
Peut-être essayer avec imagecreatetruecolor()

Note : je viens de voir dans la doc :
Citation:
imagecopyresampled ()
Note : Il y a un problème dû aux limitations de la taille de la palette (255 + 1 couleurs différentes). Filtrer ou rééchantillonner une image demande plus de 255 couleurs, une approximation est alors utilisée pour calculer le nouveau nombre de couleurs. Avec une palette, si une nouvelle couleur ne peut être allouée, la couleur la plus proche (en théorie) est utilisée. Ce n'est pas toujours la couleur la plus proche visuellement. Cela peut générer des problèmes étranges, comme des images blanches. Pour éviter ce problème, passez en image TrueColor, comme celles générée par la fonction imagecreatetruecolor().
N1bus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2007, 19h31   #3
Membre éprouvé
 
Avatar de calogerogigante
 
Inscription : avril 2003
Messages : 600
Détails du profil
Informations personnelles :
Âge : 41
Localisation : Belgique

Informations forums :
Inscription : avril 2003
Messages : 600
Points : 451
Points : 451
En true color, je crois qu'il faut bien préciser que la transparence alpha doit être conservée :

Code :
1
2
 
imageSaveAlpha( ... )
__________________
L'informatique vous fait gagner du temps, à condition d'en disposer suffisamment !
Calogero GIGANTE
calogerogigante est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2007, 15h44   #4
Membre du Club
 
Avatar de Phenomenium
 
Inscription : janvier 2004
Messages : 185
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : janvier 2004
Messages : 185
Points : 57
Points : 57
Merci pour les réponses.
J'ai essayé mais je n'arrive a rien de concluant. Je me perd un peu avec l'ordre d'enchainement des differentes fonctions? J'ai des doutes sur les quelles executer en premier..
Phenomenium est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h37.


 
 
 
 
Partenaires

Hébergement Web