Cadeau :)
Petit script perso de redimentionement d'image.
l'image garde son ratio d'aspect.
Je te conseil de faire des test:
-l'image est copié,
-l'image "image.png" est redimensionné en petit et en grand avec des tag "MINI_images.png" et "BIG_image.png"
-et peut etre d'autre fonction qui ne te serront pas forcement utilies.
utilisation:
<?php resize_clone("/ton/chemin/vers/ton/", "image.png");n'oublie pas le "/" a la fin du chemin
Bonne chance :)
<?php
function resize_clone($path, $file)
{
list($width, $height, $type, $attr) = getimagesize($path.$file);
$ratio = $height / $width;
if ($height > 500 OR $width > 500)
{
if($ratio <= 1)
{
$x = 500;
$y = 500*$ratio;
}
else
{
$y = 500;
$x = 500*(1/$ratio);
}
}
else
{
if($ratio <= 1)
{
$x = $width;
$y = $width*$ratio;
}
else
{
$y = $height;
$x = $height*(1/$ratio);
}
}
$size = getimagesize($path.$file);
if ( $size)
{
if ($size['mime']=='image/jpeg' )
{
$img_big = imagecreatefromjpeg($path.$file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagejpeg($img_mini,$path."big_".$file );
}
elseif ($size['mime']=='image/png' )
{
$img_big = imagecreatefrompng($path.$file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagepng($img_mini,$path."big_".$file );
}
elseif ($size['mime']=='image/gif' )
{
$img_big = imagecreatefromgif($path.$file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagegif($img_mini,$path."big_".$file );
}
}
if($ratio <= 1)
{
$x = 90;
$y = 90*$ratio;
}
else
{
$y = 90;
$x = 90*(1/$ratio);
}
$size = getimagesize($path.$file);
if ( $size)
{
if ($size['mime']=='image/jpeg' )
{
$img_big = imagecreatefromjpeg($path.$file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagejpeg($img_mini,$path."mini_".$file );
}
elseif ($size['mime']=='image/png' )
{
$img_big = imagecreatefrompng($path.$file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagepng($img_mini,$path."mini_".$file );
}
elseif ($size['mime']=='image/gif' )
{
$img_big = imagecreatefromgif($path.$file);
$img_new = imagecreate($x, $y);
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagegif($img_mini,$path."mini_".$file );
}
}
unlink($path.$file);
}
?>