probleme de miniature ac gd

Eléphanteau du PHP | 43 Messages

23 août 2005, 03:07

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);}
?>

Mammouth du PHP | 1885 Messages

23 août 2005, 03:10

Bonjour,

Parles-tu du format PNG?
Dans ce cas, il faut activer la transparence:
imagealphablending($destination, FALSE);
imagesavealpha($destination, TRUE);
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Eléphanteau du PHP | 43 Messages

23 août 2005, 03:24

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

Mammouth du PHP | 1885 Messages

23 août 2005, 03:42

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
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Eléphanteau du PHP | 43 Messages

23 août 2005, 03:47

j'ai essayé et c'est pareil...

Mammouth du PHP | 1885 Messages

23 août 2005, 04:00

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?
La programmation est l'expression de la poésie d'un programmeur
Génération PHP