Génerer une miniature d'image - Apprendre-PHP.com

Rechercher
Anaska - Spécialiste des formations Open-Source

Génerer une miniature d'image

Par ZikoNFS -  1 reponse -  Le 11/08/2008 -  Flux RSS - 

Salut à tous et à toutes.

J'aimerais savoir comment génerer une miniature d'une image par une fonction php.

<?php
// éditez les 2 variables ci-dessous en fonction du résultat souhaité :
$largeur = "100"; // correspond à la largeur de l'image souhaitée
$hauteur ="100"; // correspond à la hauteur de l'image souhaitée
 
// et voici la création de la miniature...
header("Content-Type: image/jpeg");
list($width, $height, $type, $attr) = getimagesize($_GET['pic']);
 
if($type == "1")
{
$img_in = imagecreatefromgif($_GET['pic']);
}
 
if($type == "2")
{
$img_in = imagecreatefromjpeg($_GET['pic']);
}
 
if($type == "3")
{
$img_in = imagecreatefrompng($_GET['pic']);
}
$img_out = imagecreatetruecolor($largeur, $hauteur);
imagecopyresampled($img_out, $img_in, 0, 0, 0, 0, imagesx($img_out), imagesy($img_out), imagesx($img_in), imagesy($img_in));
$t = imagejpeg($img_out);
echo $t;
?>

Ce code est correct sauf qu'il ne garde pas les proportion de l'image.

Merci pour votre aide.

 

Réponses apportées à cette discussion

Par Emacs -  Le 12/08/2008 - 

Bonsoir,

Pour conserver les proportions, il faut calculer le ratio entre les dimensions de l'image. Le ratio se calcule en divisant la largeur par la hauteur.

Tu trouveras des exemples sur le site PHPCS.com. De plus, je t'invite fortement à contrôler ce qui arrive dans ta variable $_GET et à la sécuriser, car là tu peux potentiellement t'exposer à des failles de sécurité ou à des dénis de service si un robot s'amuse à utiliser ton script à ton insu...

++

Hugo. 

 

Ajouter une réponse à la discussion

Seuls les membres loggués sont autorisés à poster dans les forums !