There is no way of preventing the download completly, since making a screenshot (which I also count as some kind of download) is a feature of the operating system that can not be suppressed by a browser. There is no agreement amongst OS developers about screenshot-prevention-features. Moreover, once you use the image on any webpage, it is also downloaded to the browsers cache when the page is loaded by a user and, depending on the browser, can be freely used an copied from there.
So the short answer to your question: It is not possible to make your pictures "unstealable".
The long answer: There are several ways of giving users a hard time downloading your images. You can prevent directory-indexing through .htaccess. Or you could "disable" right-clicking on images through javascript. You could black-out the window when it loses focus to prevent some UI screenshot programs. I guess there are even more possibilities but all of them have been explained in detail frequently on this and other pages.
A bit of a creative solution: You could read your image pixel by pixel with PHP and create a block-element for each pixel with the given pixels color as background. Anyway, this solution consumes a lot of your servers CPU so you should only follow this idea if you REALLY need some image to be protected from direct download. Keep in mind: Screenshot is still possible.