"MZH" <mikkel@mzh.nospamdk> wrote in message news:1lb6nu8nqkb525uveasnscner3t45c1tsl@4ax.com...
> Jeg forsøger at lave en funktion, så en bruger kan uploade et billede
> til serveren og få det vist i et billedgalleri.
>
> Nu kunne det så være rigtig smart, hvis PHP samtidig kunne generere et
> lille thumbnail af det uploadede billede til en oversigtsside - kan
> man det med en standard PHP installation (jeg har ikke selv adgang til
> opsætning af PHP)?
>
> Jeg har rodet med funktionen imagecopyresample(), men kan ikke få den
> til at funke...
>
Ikke rigtig, men jeg har selv lavet præcis det samme.
Hvis der er GDlib2 eller højere installleret, kan du bruge imagecopyresampled, hvis det er GD < 2 skal du bruge imagecopyresized.
Du får lige koden til min funktion:
function resizeJpg($src_file, $maxH, $maxW, $append) {
$src_img = imagecreatefromjpeg("./images/".$src_file);
$w=ImageSX($src_img);
$h=ImageSY($src_img);
$ratio=$w/$h;
if ($maxW<1) $maxW=10000;
if ($maxH<1) $maxW=10000;
if ($maxW < $maxH*$ratio) $maxH=$maxW/$ratio;
else $maxW=$maxH*$ratio;
$dst_img = imagecreate($maxW,$maxH);
imagecopyresized($dst_img, $src_img,0,0,0,0,$maxW,$maxH,ImageSX($src_img),ImageSY($src_img));
$path="./images/thumbs/".substr($src_file, 0,-4)."$append.jpg";
imagejpeg($dst_img, $path);
return $path;
}
Den skal så bare kaldes med filnavnet på det billede der skal "thumbnailes", max størrelse for højde og bredde, samt en eventuel endelse. F.eks.
$thumb=resizeJpg("image01.jpg", 80, 100,"thumb");
//$thumb vil nu indeholde referencen til /images/thumbs/image01thumb.jpg som er en lille udgave af image01.jpg
Håber det kan bruges.
Kan evt ses i funktion på
http://ml.1go.dk
Her bliver hele galleriet genereret ud fra et billedebibliotek, hvor scriptet selv sørger for at opdatere med evt. nye billeder, og lave thumbnails til disse også.
Mvh
Rasmus Hansen