Scripts

Image x resize

Met dit eenvoudige scriptje kan je een plaatje op de breedte resizen. Dus ik wil alle plaatjes op een bepaalde breedte hebben met dit script. Het is eenvoudig aan te roepen: bestand.php?image=naamvanhetplaatje.jpg&width=100 Veel succes

image-x-resize
<?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";
}
?>

Reacties

0
Nog geen reacties.