PDA

Bekijk Volledige Versie : Thumbnails en imagemagic



Drebbel
16/06/04, 10:15
Goede morgen allemaal,

Ik gebruik momenteel de volgende php code om thumbnails te genereren:

$maxwidth = '300';
if (isset($_GET[img])) {
// Generate a thumbnail of the image
if (!isset($_GET[iw])) { $iw = $maxwidth; } else { $iw = $_GET[iw]; }
$iname = $_GET[img];
if (ereg('png$',$_GET[img])) { $i = imagecreatefrompng($iname); }
if (ereg('jpg$',$_GET[img])) { $i = imagecreatefromjpeg($iname); }
if (ereg('gif$',$_GET[img])) { $i = imagecreatefromgif($iname); }
$i2 = imagecreatetruecolor($iw,($iw*(imagesy($i)/imagesx($i)))+1);
imagecopyresampled($i2,$i,0,0,0,0,$iw,$iw*(imagesy ($i)/imagesx($i))+1,images
x($i),imagesy($i));
imagejpeg($i2);
exit;
}



Maar ik ga naar een server waar ook imagemagic op staat. Is me vertelt dat
dit veel sneller werkt en ik wil het dan ook graag gebruiken.

Het is me echter onduidelijk hoe ik imagemagic aanroep.

Kan ik in php gewoon dingen 'roepen' als:


convert -sample 100x100 input.jpg output.jpg


Of moet ik b.v. eerst imagemagic aanroepen ?

Bvd

Drebbel

Michiel de Roo
16/06/04, 13:35
Drebbel wrote:
> Goede morgen allemaal,
>
> Ik gebruik momenteel de volgende php code om thumbnails te genereren:
>
[...]
> Maar ik ga naar een server waar ook imagemagic op staat. Is me vertelt dat
> dit veel sneller werkt en ik wil het dan ook graag gebruiken.
>
> Het is me echter onduidelijk hoe ik imagemagic aanroep.
>
> Kan ik in php gewoon dingen 'roepen' als:
>
>
> convert -sample 100x100 input.jpg output.jpg

exec('convert -sample 100x100 input.jpg output.jpg');
OF
system('convert -sample 100x100 input.jpg output.jpg');

>
>
> Of moet ik b.v. eerst imagemagic aanroepen ?

Nee, dat hoeft niet. convert is een losstaand onderdeel van ImageMagick


Zie ook:
http://nl.php.net/manual/nl/function.exec.php
http://nl.php.net/manual/nl/function.system.php

Michiel.

Daniel Tryba
16/06/04, 14:55
Drebbel <drebbel@wanadoo.nl> wrote:
[knip]
> imagejpeg($i2);

> Maar ik ga naar een server waar ook imagemagic op staat. Is me vertelt dat
> dit veel sneller werkt en ik wil het dan ook graag gebruiken.

Ik kan me niet voorstellen dat er een dramatisch verschil zit tussen gd
en imagemagick of netpbm utils. Maar er is maar 1 manier om achter te
komen... maak dus een benchmark.

> Het is me echter onduidelijk hoe ik imagemagic aanroep.
>
> Kan ik in php gewoon dingen 'roepen' als:

> convert -sample 100x100 input.jpg output.jpg

Zoalss Michiel al melde... ja.

Echter wat wil je eigenlijk bereiken? Je bovenstaande scrip resized een
plaatje maar slaat het resultaat niet op (wordt direct naar browser
gestuurd). Je convert voorbeeld doet de resize eenmalig. Je mag drie
maal raden welke het minste cputijd verbruikt.

--

Daniel Tryba