Page 1 sur 1

probleme de miniature ac gd

Posté : 23 août 2005, 03:07
par anonymousguest
le code ci-dessous est censcé réduire une image dont l'url est dans une bdd et lui donner une taille de 200x150
l'image qui s'affiche a la bonne taille mais, seulement, elle est toute noire
Pourquoi?
<?php
if (isset($_GET['id']))
{
$id=$_GET['id'];
}
else {exit;}

mysql_connect("localhost", "login", "mdp");
mysql_select_db("bdd");

$infos_image_non_classe = mysql_query("SELECT path, format FROM kit WHERE id='$id'");
$infos_image = mysql_fetch_array($infos_image_non_classe);
$path = $infos_image['path'];
$f = $infos_image['format'];
mysql_close();

header ("Content-type: image/$f");
if ($f=="jpeg"){$image_source = imagecreatefromjpeg("$path");}
elseif ($f=="png"){$image_source = imagecreatefrompng("$path");}
else{exit;}
$destination = imagecreatetruecolor(200, 150);

$largeur_image_source = imagesx($image_source);
$hauteur_image_source = imagesy($image_source);
imagecopyresampled($destination, $image_source, 0, 0, 0, 0, 200, 150, $largeur_source, $hauteur_source); 

if ($f=="jpeg"){imagejpeg($destination);}
elseif ($f=="png"){imagepng($destination);}
?>

Posté : 23 août 2005, 03:10
par Xenon_54
Bonjour,

Parles-tu du format PNG?
Dans ce cas, il faut activer la transparence:
imagealphablending($destination, FALSE);
imagesavealpha($destination, TRUE);

Posté : 23 août 2005, 03:24
par anonymousguest
En fait, j'ai essayé d'utiliser ce tuto(un peu plus bas) avec quelques modifs pour qu'il fonctionne comme je le veux, mais ca ne marche pas

Posté : 23 août 2005, 03:42
par Xenon_54
Bonjour,

As-tu ajouté les deux appels de fonctions plus haut?
Si oui, quel est le résultat?
Si non, je peux pas grand chose pour toi

Posté : 23 août 2005, 03:47
par anonymousguest
j'ai essayé et c'est pareil...

Posté : 23 août 2005, 04:00
par Xenon_54
Bonjour,

Utilises-tu Internet Explorer ou Firefox?
Car Internet Explorer supporte très mal la transparence avec les images PNG. Quant à Firefox, tout fonctionne très bien.

Et si par hasard tu essaies de mettre de la transparence à une image JPEG, c'est pas la peine. Le pauvre supporte pas.

De plus, vérifie si la variable $path contient bien ce qui tu espères. Est-ce bien l'image d'origine?