in reply to
Webcam 0.2
When Stamp started Coredumping on me, I hacked this piece of code.
#!/usr/bin/perl
use Net::FTP;
use GD;
# Beatnik (c) 2000 - yadayadayada
# http://stampl.sourceforge.net
$inputfile = "/tmp/me.jpg"; # Local input filename
$outputfile = "/tmp/recent.jpg"; # Local output filename
$remotefile = "recent.jpg"; # Remote filename
$remotedir = ""; # Remote directory
$hostname = "ftp.myhost.com"; # Remote hostname
$username = "user"; # username for remote host
$password = "password"; # password for remote host
$interval = 45; # Amount of seconds to wait before uploading again
$textbot = "StamPL - Test"; # The text that should be added at the bot
+tom
for(;;) {
$texttop = localtime;
$ltop = length($texttop)*8;
$lbot = length($textbot)*8;
$result = qx|cqcam -32+ -a+ -r -j -x 320 -y 240 -q 75 > $inputfile|;
if ($result) { die $result; }
$image = GD::Image->newFromJpeg($inputfile);
$blue = $image->colorClosest(0,0,255);
$shadow = $image->colorClosest(128,128,128);
($width,$height) = $image->getBounds();
$w = $width/2;
$ttop = $w-($ltop/2);
$tbot = $w-($lbot/2);
$image->string(gdMediumBoldFont,$ttop+2,3,$texttop,$blue);
$image->string(gdMediumBoldFont,$ttop,1,$texttop,$shadow);
$image->string(gdMediumBoldFont,$tbot,($height-14),$textbot,$blue);
$image->string(gdMediumBoldFont,$tbot+2,($height-14)+2,$textbot,$shado
+w);
open(FILE,">$outputfile") || die $!;
print FILE $image->jpeg();
close(FILE);
$ftp = Net::FTP->new($hostname);
$ftp->login($username,$password);
$ftp->cwd($remotedir);
$ftp->put($outputfile,$remotefile);
$ftp->quit;
sleep($interval);
}
It uses GD (which limits palette to 256 colors :( ) and Net::FTP.
It also uses cqcam (which is also used by Stamp), and it currently on
Sourceforge somewhere.
Ofcourse sleep() isnt really a clean way to do it, but I didnt felt like forking :)
Greetz
Beatnik
... Quidquid perl dictum sit, altum viditur.