HTML interesse |
|
Hallo,
Ik heb een ledensysteem gemaakt waarbij een avatar geupload kan worden, alleen heb ik daar een probleempje waar ik niet uit kom.
De avatars worden automatisch verkleint in een kader van 100x140.
Als ik nu een foto upload van 500x1000 pixels dan word hij netjes verkleind naar 70x140. Pak ik een foto die 1325x1658 is dan verkleint hij hem niet in dat kader van 100x140 want dan worden de afmetingen 112x140
Afmetingen die ik genoemd heb zijn breedte x hoogte.
Dit is het script wat ik gemaakt heb.
<?php
$dimensions = getimagesize($foto); //Gegevens ophalen van image
$bronbreedte = $dimensions[0]; // breedte van oude plaatje
$bronhoogte = $dimensions[1]; // hoogte van oude plaatje
$maxbreedte = 100; // maximale breedte van nieuwe plaatje
$maxhoogte = 140; // maximale hoogte van nieuwe plaatje
if($bronbreedte <= $maxbreedte && $bronhoogte <= $maxhoogte)
{
$doelhoogte = $bronhoogte;
$doelbreedte = $bronbreedte;
}
else
{
if($bronbreedte > $bronhoogte) // Als de breete groter is dan de hoogte
{
//nieuwe hoogte uitrekenen
$doelhoogte = ($bronhoogte * $maxbreedte) / $bronbreedte;
$doelhoogte = round($doelhoogte, 0);
$doelbreedte = $maxbreedte;
}
if($bronbreedte < $bronhoogte) // Als de hoogte groter is dan de breete
{
//nieuwe breete uitrekenen
$doelbreedte = ($bronbreedte * $maxhoogte) / $bronhoogte;
$doelbreedte = round($doelbreedte, 0);
$doelhoogte = $maxhoogte;
}
if($bronbreedte = $bronhoogte) // Als de hoogte gelijk is aan breete
{
//nieuwe breete uitrekenen
$doelbreedte = $maxbreedte;
$doelhoogte = $maxbreedte;
}
}
?>
<?php $dimensions = getimagesize($foto); //Gegevens ophalen van image $bronbreedte = $dimensions[0]; // breedte van oude plaatje $bronhoogte = $dimensions[1]; // hoogte van oude plaatje $maxbreedte = 100; // maximale breedte van nieuwe plaatje $maxhoogte = 140; // maximale hoogte van nieuwe plaatje if($bronbreedte <= $maxbreedte && $bronhoogte <= $maxhoogte) { $doelhoogte = $bronhoogte; $doelbreedte = $bronbreedte; } else { if($bronbreedte > $bronhoogte) // Als de breete groter is dan de hoogte { //nieuwe hoogte uitrekenen $doelhoogte = ($bronhoogte * $maxbreedte) / $bronbreedte; $doelhoogte = round($doelhoogte, 0); $doelbreedte = $maxbreedte; } if($bronbreedte < $bronhoogte) // Als de hoogte groter is dan de breete { //nieuwe breete uitrekenen $doelbreedte = ($bronbreedte * $maxhoogte) / $bronhoogte; $doelbreedte = round($doelbreedte, 0); $doelhoogte = $maxhoogte; } if($bronbreedte = $bronhoogte) // Als de hoogte gelijk is aan breete { //nieuwe breete uitrekenen $doelbreedte = $maxbreedte; $doelhoogte = $maxbreedte; } } ?>
|