It's impossible.
All you can do is make it undesirable for them to use it to their own ends, i.e. watermark it.
By putting your website online, you are allowing people to download your photo. When someone refreshes your page, the photo has then gone onto their machine. You can't control what they do with their own machine. To enable them to view the photo, you have to send it to them.
What you can do is put a right click handler on the page, which simply just puts a javascript message box up, since most people save a picture by right-clicking on it, and choosing 'save image as' from the context menu, but it is (a) pretty naff, and (B) pretty easy to circumvent by simply using the main menu Page -> View Source, finding the image and copying it into a new window. That's not to say it won't prevent some potential instances of it being copied, though, as not everyone necessarily knows this.
FWIW I often find that on sportive web sites the pictures are watermarked but not enough to make it worth bothering paying for the unwatermarked version. I consider it perfectly morally acceptable to save these photos, as I own myself, therefore I deem it the case that I also own all pictures of myself. Especially when the photographer has shown little imagination or skill and just taken yet another generic grimping shot. The one that was actually a good photo where i was hooning it along pretty fast, I did actually buy it.