/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
Script til scalering af jpg-billede
Fra : Morten Holst


Dato : 12-12-00 12:59


Hej alle kloge hoveder

Jeg vil gerne i gang med at lave et script til automatisk upload af billed
filer til en webserver. Efter at billedet er uploadet vil jeg gerne lave et
script som automatisk kan generere en mini "thumbnail" version af billedet,
så det bliver muligt at browse billederne.

Hvis nogen kender til et eksisterende script som kan foretage en sådan
"resampling", - eller har et godt råd om hvordan man gør, - vil jeg blive
meget glad for hjælpen.

Venligste hilsener

Morten




 
 
Nezar Nielsen (12-12-2000)
Kommentar
Fra : Nezar Nielsen


Dato : 12-12-00 14:04

"Morten Holst" <morten@dk.northsails.com> wrote in message
news:9153m5$qr0$1@news.inet.tele.dk...
>
> Hej alle kloge hoveder
>
> Jeg vil gerne i gang med at lave et script til automatisk upload af billed
> filer til en webserver. Efter at billedet er uploadet vil jeg gerne lave
et
> script som automatisk kan generere en mini "thumbnail" version af
billedet,
> så det bliver muligt at browse billederne.
>
> Hvis nogen kender til et eksisterende script som kan foretage en sådan
> "resampling", - eller har et godt råd om hvordan man gør, - vil jeg blive
> meget glad for hjælpen.
>

Jeg lavede engang noget til at lave thumbnails, koden ser sådan her ud
(fjern selv overflødige variable osv, det er copy/paste)
Den tager, udover ind/ud-fil, højden af thumbnailen som parameter, og sørger
for at proportionerne bliver bibeholdt..

#!/usr/bin/perl
use Image::Size;
use GD;

die "USAGE: $0 infile outfile height [quality]\n" unless @ARGV>=3;
$infile=$ARGV[0];
$outfile=$ARGV[1];
$newheight=$ARGV[2];
$kvalitet=$ARGV[3] || 90;

$jpegfile=$ARGV[0];
$j=newFromJpeg GD::Image($jpegfile);
my($width,$height)=imgsize($jpegfile);
$division=$height/$newheight;
$newwidth=int($width/$division);
$k=new GD::Image($newwidth,$newheight);
$k->copyResized($j,0,0,0,0,$newwidth,$newheight,$width,$height);
open(OUT,">$outfile");
binmode OUT;
print OUT $k->jpeg($kvalitet);
close(OUT);
exit(0);

--
Mvh. Nezar Nielsen
http://fez.dk/




Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste