Hoi,
ik heb al een tijdje een resize script voor foto's die members uploaden.
Nu wil ik er voor zorgen dat de verhoudingen niet veranderd worden. Anders vervomd de foto.
vb (thumb moet 60 x 30 px zijn):
1) member upload foto van 600 x 300px => foto wordt niet vervormd (verhoudingen kloppen)
2) member upload foto van 60 x 80 px => foto wordt heel veel vervormd (verhoudingen kloppen niet)
Nu heb ik op sommige site gezien dat bij foto's uit het onderstaande geval er niet geresized wordt maar gewoon het middelste deel (dus van 60 x 30 px) genomen wordt. (www.lexa.nl doet dit - thumbs uit zoekpagina vergelijken met profielfoto)
Hoe doen ze dit?
Mijn code die ik nu gebruik:
ik heb al een tijdje een resize script voor foto's die members uploaden.
Nu wil ik er voor zorgen dat de verhoudingen niet veranderd worden. Anders vervomd de foto.
vb (thumb moet 60 x 30 px zijn):
1) member upload foto van 600 x 300px => foto wordt niet vervormd (verhoudingen kloppen)
2) member upload foto van 60 x 80 px => foto wordt heel veel vervormd (verhoudingen kloppen niet)
Nu heb ik op sommige site gezien dat bij foto's uit het onderstaande geval er niet geresized wordt maar gewoon het middelste deel (dus van 60 x 30 px) genomen wordt. (www.lexa.nl doet dit - thumbs uit zoekpagina vergelijken met profielfoto)
Hoe doen ze dit?
Mijn code die ik nu gebruik:
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
| $map = $fotoalbum_big; // dir waar de foto's staan
$map_thumb = $fotoalbum_th; // dir waar de thumbnails komen
$nwidth = "75"; // nieuwe breedte
$nheight = "90"; // nieuwe hoogte
$maxwidth = "800000"; // maximale breedte
$maxheight = "600000"; // maximale hoogte
$handle = opendir("$map");
//uitlezen van de dir
$file = $map ."/". $bestandsnaam;
list($width, $height) = getimagesize("$file");
//opnieuw aanmaken en opslaan over het orgineel heen
$pic = ImageCreateTrueColor($nwidth, $nheight);
$cpyImage = ImageCreateFromJPEG($file);
$file_nw = $map_thumb ."/". $bestandsnaam;
imagecopyresampled
($pic,$cpyImage,0,0,0,0, $nwidth,$nheight,$width, $height);
ImageJPEG($pic,$file_nw);
// en de dir weer sluiten voor de netheid
closedir($handle); |