Ik maak thumbnails van geuploade foto's.
1. Daarvoor verklein ik eerst de hoogte en de breedte.
Hiervoor heb ik geen voorbeeld bijgevoegd, maar dat gaat prima.
2. Dan maak ik een source bestand
$source = imagecreatefrompng($_FILES["photoimg"]["tmp_name"]);

3. Dan creƫer ik de doelafbeelding
$thumb=imagecreatetruecolor($nwbreedte, $nwhoogte);

4. Dan vul ik de doelafbeelding
imagecopyresampled($thumb, $source, 0, 0, 0, 0, $nwbreedte, $nwhoogte, $breedte, $hoogte);

5. dan schrijf ik de doelafbeelding naar een bestand
 $destination = "../thumbs/".$actual_image_name;
return imagejpg($thumb, $destination);


Wel het bestand wordt keurig weggeschreven. Met de nieuwe breedte en hoogte, maar met dezelfde bestandsomvang. Ik snap dat niet. Hoe kan die nou hetzelfde blijven????
Kan iemand mij vertellen wat ik hier vergeet??
Alvast dank!
- wat is het oorspronkelijke bestandsformaat?
- zijn de afmetingen van $nwbreedte en $nwhoogte ook echt kleiner? waar is de rest van je code?
- imagejpg() bestaat in ieder geval niet? wellicht bedoelde je imagejp[color=#ff0000]e[/color]g()? mogelijk behoud je door deze fout de oorspronkelijke afbeelding? zelfs als de gegenereerde JPEG dezelfde afmetingen zou hebben zou de bestandsgrootte kleiner moeten zijn omdat de standaard afbeeldingskwaliteit (3e parameter, die je niet expliciet opgeeft) ~75% van het origineel is, dit kwaliteitsverlies resulteert meestal in een kleinere bestandsgrootte

Reageren