2min

Tags in dit artikel

,

Eindresultaat

Het resultaat

Als je alle stappen correct hebt gevolgd zou je een werkend script moeten hebben dat thumbnails maakt. Voor de mensen die niet de hele tutorial hebben gelezen staat hier onder de eindcode met een mogelijk eindresultaat.

imagecopyresampled

Eindcode

PHP Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
 
// De thumbnail breedte en hoogte
$Thumbnail_breedte = 100;
$Thumbnail_hoogte = 100;
 
// Maak 2 image objecten aan.
$Plaatje   = imagecreatefromjpeg("IMG_0540.jpg"); # Dit is het originele plaatje, in dit voorbeeld was mijn afbeelding IMG_0540.jpg genoemd. Deze afbeelding moet wel op de server staan.
$Thumbnail = imagecreatetruecolor($Thumbnail_breedte, $Thumbnail_hoogte); # Dit is de thumbnail.
 
// Maken 2 kleuren aan. De eerste kleur is (altijd) de achtergrond kleur. Die wordt later toch overschreven.
// De tweede is de kleur van de rand. De kleur code is rood, groen, blauw.
$bgc = imagecolorallocate($Thumbnail, 255, 255, 255);
 
// Vul de achtergrond op.
imagefilledrectangle($Thumbnail, 0,0, $Thumbnail_breedte, $Thumbnail_hoogte, $bgc);
 
$rand_kleur = imagecolorallocate($Thumbnail, 0,0,0);
 
// We lezen de breedte en hoogte uit van het originele plaatje
// Deze hebben we nodig bij imagecopyresized of imagecopyresampled.
$Plaatje_breedte = imagesx($Plaatje); 
$Plaatje_hoogte = imagesy($Plaatje); 
 
// Het verkleinen van het origineel ($Plaatje) naar de thumbnail $Thumbnail.
imagecopyresampled($Thumbnail, $Plaatje, 0, 0, 0, 0, $Thumbnail_breedte, $Thumbnail_hoogte, $Plaatje_breedte, $Plaatje_hoogte);
//imagecopyresized($Thumbnail, $Plaatje, 0, 0, 0, 0, $Thumbnail_breedte, $Thumbnail_hoogte, $Plaatje_breedte, $Plaatje_hoogte);
 
// Een zwart randje om het plaatje zetten.
imagerectangle($Thumbnail, 0, 0, $Thumbnail_breedte-1, $Thumbnail_hoogte-1, $rand_kleur);
 
// De thumbnail weergeven.
// Hier voor sturen we een header mee met content type.
// Dit content type is image/png.
header("Content-type: image/png");
imagepng($Thumbnail);
 
// Verwijder de plaatjes uit het geheugen.
imagedestroy($Thumbnail);
imagedestroy($Plaatje);
 
?>