PHP beginner |
|
Dit is de functie die ik geregeld gebruik in m'n websites. Deze functie wordt veelal opgeroepen door de functie behandel_image(), waar oa. bestandsnaam omgezet wordt, maar dat is hier niet relevant.
<?
function verklein_figuur($b,$map,$prefix,$bestand,$ext,$bx,$by,$maxx, $maxy) {
if($bx>=$by && $bx>$maxx) {
$temp = $bx/$maxx;
$hoogte = $by/$temp;
$breedte = $maxx;
}
elseif($by>=$bx && $by>$maxy) {
$temp = $by/$maxy;
$hoogte = $maxy;
$breedte = $bx/$temp;
}
else {
$breedte = $bx;
$hoogte = $by;
}
//het plaatje gaan maken
$im = imagecreatetruecolor($breedte,$hoogte);
//als je geen GD library 2 hebt moet je imagecopyresampled veranderen in imagecopyresized(lagere kwaliteit)
imagecopyresampled($im, $b, 0, 0, 0, 0, $breedte, $hoogte, $bx, $by);
//80 is jpg kwaliteit maar je kan ook tot 120 gaan of lager dan 80
switch($ext) {
case 'gif':
Imagegif($im,$map . "/" . $prefix . $bestand);
break;
case 'png':
Imagepng($im,$map . "/" . $prefix . $bestand);
break;
default:
Imagejpeg($im,$map . "/" . $prefix . $bestand,80);
break;
}
//de rommel opruimen
imageDestroy($im);
}
?>
<? function verklein_figuur($b,$map,$prefix,$bestand,$ext,$bx,$by,$maxx, $maxy) { if($bx>=$by && $bx>$maxx) { $temp = $bx/$maxx; $hoogte = $by/$temp; $breedte = $maxx; } elseif($by>=$bx && $by>$maxy) { $temp = $by/$maxy; $hoogte = $maxy; $breedte = $bx/$temp; } else { $breedte = $bx; $hoogte = $by; } //het plaatje gaan maken $im = imagecreatetruecolor($breedte,$hoogte); //als je geen GD library 2 hebt moet je imagecopyresampled veranderen in imagecopyresized(lagere kwaliteit) imagecopyresampled($im, $b, 0, 0, 0, 0, $breedte, $hoogte, $bx, $by); //80 is jpg kwaliteit maar je kan ook tot 120 gaan of lager dan 80 switch($ext) { case 'gif': Imagegif($im,$map . "/" . $prefix . $bestand); break; case 'png': Imagepng($im,$map . "/" . $prefix . $bestand); break; default: Imagejpeg($im,$map . "/" . $prefix . $bestand,80); break; } //de rommel opruimen imageDestroy($im); } ?>
alstemblieft dankewel! |