Technically it is impossible to protect web pictures from leeching since most browsers will first download a copy of the entire image from the internet to the local cache before rendering.
So what's a good alternative if you are very eager to protect you images on the internet ? One option is is convert your images to SWF Flash objects before uploading them to the web but if that sounds too impractical, try swfIR (SWF Image Replacement tool).
What's so nice about swfIR is that it lets apply nice visual effects to your images including borders, rounded corners, small rotations and shadows without actually modifying the original image.
Tech savvy users can easily download the image by looking at the HTML source code of your web page but for the not-so-geeky crowd and image leech software, all they'll see is a blank Flash movie.
Update: The service mentioned in this article in no longer available but here's an updated technique - Protect your Online Images from Copying