Most recently, I used Paint Shop Pro to watermark some pics with a visible copyright message; it was fairly time consuming though; I'd love to have something that would automate/batch process the entire task, particularly if it could be run from within a Java program.
I *did* manage to get something up and running on Linux using a program called ImageMagick many moons ago, although I didn't get round to doing anything with opacity, so the resulting watermarks were a bit "in your face"; I tended to use those in conjunction with Apache's mod_rewrite, so that if someone tried to "leech" images from my site (i.e. linking directly to the image on my server from their web page), Apache would realise that the referer was not a page on my site, and would serve them up the image with the web address stamped across it, as opposed to the original image (which would be displayed for people browsing my site normally)...