bibliotheque BD script miniature jpg

dominique
Invité n'ayant pas de compte PHPfrance

19 juin 2005, 19:05

J'ai utilisé un script qui cré automatiquement une miniature d'une image jpg à la taille que l'on désire.(bibliothéque GD).
Ca marche, mais 1/2 la photo est dégeulasse et inexploitable.
Qui peut m'aider?

Eléphanteau du PHP | 28 Messages

19 juin 2005, 19:07

Peux tu donner le code que tu utilises pour la "miniaturisation" de l'image. L'image ne pourra pas être parfaite en tout cas.

Invité
Invité n'ayant pas de compte PHPfrance

20 juin 2005, 16:29

voici le script trouvé sur un site de php
<?php

function miniature($chemin_original, $chemin_mini, $fichier_image, $largeur_mini)
{
$image_origine = imagecreatefromjpeg("$chemin_original/$fichier_image");
$largeur_origine = imagesx($image_origine);
$hauteur_origine = imagesy($image_origine);
$hauteur_mini = $hauteur_origine * $largeur_mini / $largeur_origine;
$image_finale = imagecreate($largeur_mini, $hauteur_mini);
imagecopyresized($image_finale, $image_origine, 0, 0, 0, 0, $largeur_mini, $hauteur_mini, imagesx($image_origine), imagesy($image_origine) );

imagejpeg($image_finale, "$chemin_mini/$fichier_image");
imagedestroy($image_finale);
return true;
}

miniature("img_ess", "img_ess/img_ess_mini", "image.jpg", "160")
?>

Eléphanteau du PHP | 28 Messages

20 juin 2005, 18:05

imagecopyresampled est mieux que imagecopyresized. Le png est mieux que le jpeg :
<?php

function miniature($chemin_original, $chemin_mini, $fichier_image, $largeur_mini)
{
$image_origine = imagecreatefromjpeg("$chemin_original/$fichier_image");
$largeur_origine = imagesx($image_origine);
$hauteur_origine = imagesy($image_origine);
$hauteur_mini = $hauteur_origine * $largeur_mini / $largeur_origine;
$image_finale = imagecreate($largeur_mini, $hauteur_mini);
imagecopyresampled($image_finale, $image_origine, 0, 0, 0, 0, $largeur_mini, $hauteur_mini, imagesx($image_origine), imagesy($image_origine) );

imagepng($image_finale, "$chemin_mini/$fichier_image");
imagedestroy($image_finale);
return true;
}

miniature("img_ess", "img_ess/img_ess_mini", "image.jpg", "160")
?>