I just finished building a computer-based photobooth. Here's how I did it in outline form, you can email me for more details (wrybread@gmail.com):
Canon Powershots can be controlled by the computer. There's a program called PSRemote that lets you trigger the camera from command-line, which means a script can do it. I have a Powershot A40, but I don't recommend it since the flash takes too long to recharge (about 2 seconds too long between pics). I had an A80 for awhile, and it worked better. All are on ebay for cheap.
I wrote the script that controls everything in PHP. It could jsut as easily be Vbasic or perl or whatever. Here's teh flow of my script:
- tell psremote to take 4 pictures
- take those pictures and assemble them into a strip using Imagemagick (a command-line image editing utility). You could also do this with a Photoshop droplet.
- print them using irfanview command-line (e.g., "i_view32.exe c:\pic.jpg /print")
- save them locally so the webserver running on the photobooth computer can display the pics to other computers on my network
- upload them to the web
- archive all the old pics on the web as well
For triggering the script, I'm using a Winamp plugin called Com-port Winamp Control, which includes instructions on building external buttons, and it listens to the serial port for those buttons to be pressed, and allows you to execute a program when it receives a signal. Amazingly powerful program, and runs completely independently of winamp.
So the gist is there's a button in the booth, someone presses it, it takes 4 pictures with flash, then shows them on a computer screen that's outside the booth, and the prints finish about 30 seconds after they pressed the button.
For printer I'm using a CAnon Pixma IP4000, which I couldn't recommend any higher. It's printing on 4 x 6 glossy paper, so far I've printed about 300 strips and still havn't run out of ink.
It's not an easy project, took me a few days of pretty intense work. But most of the work was in figuring out what method to use for each step, so the above should be a huge start.