1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| function RedimImage($FichierImage, $DestWidth, $DestHeight)
{
//.Lit les dimensions de l'image.
$Taille = GetImageSize($FichierImage);
$SourceWidth = $Taille[0];
$SourceHeight = $Taille[1];
//.Si image plus petite que la zone.
if(($SourceWidth < $DestWidth) && ($SourceHeight < $DestHeight))
{
$DestWidth = $SourceWidth;
$DestHeight = $SourceHeight;
}
else
{
//.Teste les dimensions tenant dans la zone.
$TestHeight = round(($DestWidth / $SourceWidth) * $SourceHeight);
$TestWidth = round(($DestHeight / $SourceHeight) * $SourceWidth);
//.Si Height final non précisé (0).
if(! $DestHeight)
$DestHeight = $TestHeight;
elseif(! $DestWidth) // Sinon si Width final non précisé (0).
$DestWidth = $TestWidth;
elseif($TestHeight > $DestHeight) //.Sinon teste quel redimensionnement tient dans la zone.
$DestWidth = $TestWidth;
else
$DestHeight = $TestHeight;
}
//.Affiche les dimensions optimales.
return "width=" . $DestWidth . " height=" . $DestHeight;
} |