min

Tags in dit artikel

,

Inleiding

Als je websites ontwikkelt en daarvoor afbeeldingen gebruikt, is het vaak nodig om afbeeldingen te verkleinen. Dit is voornamelijk goed voor de performance van een website. Het originele plaatje is qua bestandsgrootte vaak veel groter dan een verkleining ervan. Kleinere plaatjes zorgen dus voor snellere laadtijden en minder dataverkeer voor de servers.

Plaatjes verkleinen kan zeer makkelijk en snel met een PHP-script. Indien de module GD Library is ingeschakeld (controleer met phpinfo()) zijn er een heleboel standaardfuncties beschikbaar om met plaatjes te werken in PHP.

Hoe maken we een thumbnail?


Om een thumbnail te maken is het nodig om eerst een origineel van het plaatje in PHP te bemachtigen. Dat kan door middel van een heleboel standaard PHP-functies. Een klein overzicht:
Het verschil tussen imagecreate en imagecreatetruecolor is wellicht een beetje vaag. Waar het op neer komt is dat imagecreatetruecolor een 24-bit kleurenpallet gebruikt, terwijl dat bij imagecreate niet van toepassing is. Imagecreatetruecolor wordt aanbevolen door PHP.net, dus dat is de functie die we hier gebruiken.

Naast imagecreatetruecolor is het ook nodig om een bestaand plaatje in te lezen. De functie die je nodig hebt hangt mede af van het bestandsformaat van de originele afbeelding. In dit voorbeeld gebruik ik een JPG-afbeelding, dus wordt imagecreatefromjpeg gebruikt. Je zou een extensiedetectie kunnen maken, waardoor je automatisch kunt wisselen tussen de functies, maar dat behandelen we niet in deze tutorial.

Voor de rest is het nodig dat het plaatje verkleind wordt. Hier zijn weer verschillende PHP functies voor:
Het verschil tussen deze twee functies wordt later met een voorbeeld duidelijk gemaakt. Na het verkleinen volgt er nog een afwerking (een zwart randje) en het weergeven van het plaatje.