Article View: be.comp.programming
Article #1840Re: [PHP]gd2 library?
From: TiM
Date: Fri, 12 Nov 2004 23:11
Date: Fri, 12 Nov 2004 23:11
112 lines
4884 bytes
4884 bytes
"Joris Janssens" <spam@xhtml.invalid> schreef in bericht
news:mn.658b7d4be1f817cd.14768@xhtml.invalid...
> (supersedes <mn.65877d4b215031be.14768@xhtml.invalid>)
>
> TiM schreef op 12/11/2004 :
>
>> Ok, thx. Nu werkt dat toch al. Heb jij mss een idee hoe ik een thumbnail
>> kan maken van een foto d.m.v. php. Ik heb wel al een functie gevonden op
>> de site van php zelf maar het werkt precies niet echt. Hier is de pagina:
>> http://be2.php.net/manual/en/ref.image.php en de functie die ik zou
>> gebruiken is resampimagejpg(...). Hopelijk kan je me hierbij helpen.
>
>
> 1. je cre�ert eerst een "image" van je afbeelding
>
> $img=imagecreatefromjpeg('pics/foto1.jpg');
> // geeft een lege string terug als het mislukt
>
> 2. dan maak je een lege image aan met de afmetingen van de thumbnail:
>
> $thumb=imagecreatetruecolor(100,100);// (breedte,hoogte)
>
> 3. dan copieer je de image van je afbeelding naar die lege image:
>
> $x=imagecopyresampled($thumb, $img, 0, 0, 0, 0, 100, 100, imagesx($img),
> imagesy($img));
> // $x is false als het mislukt, anders true
>
> 4. $thumb is nu een image van je thumbnail, nu moet je die image nog naar
> een bestand wegschrijven (hier als jpg)
>
> $y=imagejpeg($thumb,'pics/foto1_small.jpg',80);
> // $y is false als het mislukt, anders true
> // 80 is de kwaliteit (van 0 tot 100)
>
>
> en *poef* je hebt een thumbnail
>
>
> Hieronder de code van een thumbnailcreatie-functie die ik op m'n website
> gebruik. Deze code "werkt", of het op de beste manier werkt is iets
> anders. :)
>
> parameters:
> string $imgsrc => de plaats waar je foto staat (directory + bestandsnaam)
> string $where => de plaats waar je thumbnail moet terechtkomen (directory)
> string $prefix => kan je gebruiken om elke thumbnail door een prefix te
> laten voorafgaan
> int $maxsize => de maximum breedte of hoogte van de thumbnail
>
>
> <?php
> function createThumb($imgsrc,$where,$prefix,$maxsize) {
> $done=false;
> if (file_exists($imgsrc)) {
> switch (strtolower(strrchr($imgsrc,'.'))) {
> case '.jpeg':
> case '.jpg':
> $img=imagecreatefromjpeg($imgsrc);
> break;
> case '.png':
> $img=imagecreatefrompng($imgsrc);
> break;
> default:
> $img='';
> break;
> }
> if ($img!=='') {
> $breedte=imagesx($img);
> $hoogte=imagesy($img);
> $hob=$hoogte/$breedte;
> if ($hob>1) {
> $thumb_hoogte=$maxsize;
> $thumb_breedte=$maxsize/$hob;
> }
> else {
> $thumb_breedte=$maxsize;
> $thumb_hoogte=$maxsize*$hob;
> }
> $thumb=imagecreatetruecolor($thumb_breedte,$thumb_hoogte);
> $x=imagecopyresampled($thumb, $img, 0, 0, 0, 0, $thumb_breedte,
> $thumb_hoogte, $breedte, $hoogte);
> if ($x) {
> $y=imagejpeg($thumb,$where . '/' . $prefix .
> substr(basename($imgsrc),0,strlen(basename($imgsrc))-strlen(strrchr(basename($imgsrc),'.')))
> . '.jpg',80);
> if ($y) {
> $done=true;
> }
> }
> }
> }
> else {
> echo '<p>the file "' . $imgsrc . '" does not exist </p>' . "\n";
> }
> return $done;
> }
> ?>
>
> Deze functie cre�ert thumbnails in het JPG-formaat. Die substr()
> verwijdert de oorspronkelijke extensie uit de bestandsnaam; nadien wordt
> er '.jpg' aan geplakt.
>
> --
> Joris "flotspe" Janssens *** http://inferno.xhtml.be/
> m(28,23,Kempen) zkt v(20<=age<=35,20<=bmi<=25,Kempen)
>
probleem al gevonden, sorry. Khad niet echt door dak eerst de functie moest
laten lopen en dan pas die thumb oproepen in <img>
Toch bedankt.
Greetz
Technical Details
Message-ID:
<%qbld.20895$dv3.1177709@phobos.telenet-ops.be>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed.cwix.com!ossa.telenet-ops.be!phobos.telenet-ops.be.POSTED!not-for-mailReferences:
<Nu2ld.20187$FK.1212444@phobos.telenet-ops.be> <4194c9f3$0$37789$e4fe514c@news.xs4all.nl> <4194cc1c$0$37789$e4fe514c@news.xs4all.nl> <aG4ld.20324$K65.1262619@phobos.telenet-ops.be> <mn.644f7d4b838028f4.14768@xhtml.invalid> <YQ6ld.20526$k05.834663@phobos.telenet-ops.be> <mn.648c7d4b349e9a1d.14768@xhtml.invalid> <cI8ld.20711$IN2.1126454@phobos.telenet-ops.be> <mn.658b7d4be1f817cd.14768@xhtml.invalid>Show Full Headers
Complete Article Headers
X-Google-Thread: fcea4,306de54d80a26c37 X-Google-Attributes: gidfcea4,public X-Google-Language: DUTCH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed.cwix.com!ossa.telenet-ops.be!phobos.telenet-ops.be.POSTED!not-for-mail From: "TiM" <tim.van.kerckhove_NOSPAM_@pandora.be> Newsgroups: be.comp.programming References: <Nu2ld.20187$FK.1212444@phobos.telenet-ops.be> <4194c9f3$0$37789$e4fe514c@news.xs4all.nl> <4194cc1c$0$37789$e4fe514c@news.xs4all.nl> <aG4ld.20324$K65.1262619@phobos.telenet-ops.be> <mn.644f7d4b838028f4.14768@xhtml.invalid> <YQ6ld.20526$k05.834663@phobos.telenet-ops.be> <mn.648c7d4b349e9a1d.14768@xhtml.invalid> <cI8ld.20711$IN2.1126454@phobos.telenet-ops.be> <mn.658b7d4be1f817cd.14768@xhtml.invalid> Subject: Re: [PHP]gd2 library? Lines: 114 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2180 X-RFC2646: Format=Flowed; Response X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 Message-ID: <%qbld.20895$dv3.1177709@phobos.telenet-ops.be> Date: Fri, 12 Nov 2004 23:11:55 GMT NNTP-Posting-Host: 81.164.22.243 X-Complaints-To: abuse@telenet.be X-Trace: phobos.telenet-ops.be 1100301115 81.164.22.243 (Sat, 13 Nov 2004 00:11:55 MET) NNTP-Posting-Date: Sat, 13 Nov 2004 00:11:55 MET Organization: Telenet Internet