Lid |
|
Kijk eens naar dit script, want ik weet nu niet precies welke stappen je doet.
Misschien vergeet je er wel een.
<?php
if($_GET['image'] && $_GET['width'])
{ // het is niet handig om de grootte mee te geven maar voor test doeleinden wel
//Waar komt het bestand vandaan?
$bronvanhetbestand = "upload/". $_GET['image'];
//De hoogte en breedte ophalen van het plaatje
$dimensions = getimagesize($bronvanhetbestand);
//Dit is de breedte die alle plaatjes krijgen
$doelbreedte = $_GET['width'];
//Hoogte en breedte toekennnen aan nieuwe variabelen
$bronbreedte = $dimensions[0];
$bronhoogte = $dimensions[1];
//De nieuwe hoogte berekenen aan de gegevens van het oude plaatje en de doel breedte
$doelhoogte = ($bronhoogte * $doelbreedte) / $bronbreedte;
//De hoogte, als het nodig is, afronden
$doelhoogte = round($doelhoogte, 0);
//Zeggen dat dit bestand een plaatje is
header('content-type: image/jpeg');
//Het plaatje inlezen in de variabele $image
$image = imagecreatefromjpeg($bronvanhetbestand);
//een nieuw klein plaatje maken met de gewenste grootte
$destination = imagecreatetruecolor($doelbreedte, $doelhoogte);
//Het nieuwe plaatje vullen met verkleinde plaatje
imagecopyresampled($destination, $image, 0, 0, 0, 0, $doelbreedte, $doelhoogte, $bronbreedte, $bronhoogte);
//Het plaatje weergeven
imagejpeg($destination);
//Het bronplaatje verwijderen
imagedestroy($image);
//Het doelplaatje verwijderen
imagedestroy($destination);
}
else
{
echo "Er is geen plaatje meegegeven";
}
?>
<?php if($_GET['image'] && $_GET['width']) { // het is niet handig om de grootte mee te geven maar voor test doeleinden wel //Waar komt het bestand vandaan? $bronvanhetbestand = "upload/". $_GET['image']; //De hoogte en breedte ophalen van het plaatje //Dit is de breedte die alle plaatjes krijgen $doelbreedte = $_GET['width']; //Hoogte en breedte toekennnen aan nieuwe variabelen $bronbreedte = $dimensions[0]; $bronhoogte = $dimensions[1]; //De nieuwe hoogte berekenen aan de gegevens van het oude plaatje en de doel breedte $doelhoogte = ($bronhoogte * $doelbreedte) / $bronbreedte; //De hoogte, als het nodig is, afronden $doelhoogte = round($doelhoogte, 0); //Zeggen dat dit bestand een plaatje is header('content-type: image/jpeg'); //Het plaatje inlezen in de variabele $image $image = imagecreatefromjpeg($bronvanhetbestand); //een nieuw klein plaatje maken met de gewenste grootte $destination = imagecreatetruecolor($doelbreedte, $doelhoogte); //Het nieuwe plaatje vullen met verkleinde plaatje imagecopyresampled($destination, $image, 0, 0, 0, 0, $doelbreedte, $doelhoogte, $bronbreedte, $bronhoogte); //Het plaatje weergeven imagejpeg($destination); //Het bronplaatje verwijderen imagedestroy($image); //Het doelplaatje verwijderen imagedestroy($destination); } else { echo "Er is geen plaatje meegegeven"; } ?>
|