"Punching holes" is a good idea to protect against image downloading by any means. So the only thing left is to protect against screen grabbers.
If you don't want to put permanent watermarks as they may hide some of the graphics e.t.c., you can simply put an animated GIF with the watermarks flying all over the protected graphics. This way all screen shots will contain watermark thus being useless, and all downloaded images are mostly useless too.
So it takes at least 3 elements per image:
1. The image with punched holes.
2. The PNG of the holes on top of it.
3. The animated GIF with flying watermarks on top of them all.
It also may look much better to use Flash instead of GIF as it would allow you to make watermarks semitransparent. But, user can disable flash in the browser and then easily screen grab the image. Disabling GIF on the other hand will disable all other images so there's no trivial way to work this around.
Bookmarks