It's a lot like the problem with DRM (
Digital Rights Management which is a very controversial topic with a lot of arguments -- good and bad -- for or against). It can either be trivial or it can be complex to crack, but it will eventually be cracked. At the same time, it will inconvenience legitimate users and sometimes will break the game for them since support for it will depend on many variables.
In my opinion it's not worth it. You won't be able to test it on every possible platform and you will end up having to fix bugs from trying to hide images, and some fixes will be incompatible with the platforms you did test on. You'll end up chasing your own tail by developing workarounds just to make images viewable.
Besides, once an image is displayed in the browser, it's there to be freely copied from the cache. So even trying to protect IP doesn't work as well as you expect.
Mortze put it quite correctly: There's no need to patronize the players. Put simply, trying to hide images to prevent spoiling the players doesn't follow. If you don't want to be spoiled, you don't go into the images directory, start browsing and then complain, do you? If you want to be spoiled, you're going to work out how the images are stored and browse them anyway.
If you do want to protect the images, there are a couple of routes you can follow:
1. A lot of binary formats can protect JPEG content by storing a thumbnail with the file, which throws off most rippers which then only extract the thumbnail, not the full size image. However, using HTML with binary files is not easy to do (possible using javascript), but easy to break. And even then the limitation can be overcome -- if you expect image files to make up the bulk of the binary blob, you simply cut between magic number boundaries (JFIF for JPEG files) and then clean up with an image editor. School Dreams 3 gave me a lot of headaches when trying to rip the images using the usual methods (to see what I missed, so I didn't need to go deeper).
2. Arizona made his Chapters in Love series with a brilliant way of storing images in a javascript file (one image per line, the format of each line is var name of file="binary image content, base64-encoded";). It can still be easily decoded (at the time Carla was released I was refreshing my skills with text parsing in GNU/bash, which made it a nice challenge).
3. You already mentioned Wolfschadowe with regards to encoding images. I didn't bother with them since I didn't feel like it, but if they're meant to be displayed, all the information needed to decode them must be already present in the source files themselves.
I have an idea how you can achieve a good way to store images to make them difficult to rip. You can split images to several layers with transparency, each showing gibberish when viewed normally. GIF is supported in every browser (but limited to 256 colors, indexed) and PNG is supported in every browser that matters. If you break the image into a checkerboard that's reassembled on each page load, the resulting image is not cached, but it can be reassembled, even with batch jobs (you can break this by naming the images randomly and breaking each of them into a random number of jigsaws between three and six.
It then becomes rather unwieldy to reassemble the images, especially when there's hundreds of them (with thousands of fragments).
Make sure to remember to sort the directory by names afterwards and to zero the creation, modification and access times before zipping up the directory.
One caveat: the resulting files are going to be huge. 1280×960 px JPEG (and JNG) files tend to be 100-500 kB in size. PNG files can be anywhere between 500-5000 kB, but will tend to gravitate towards the lower number if compressed as a full image (due to image similarity). However, if you break them up into the jigsaw, each element has to be compressed separately, there's no image similarity to take advantage of. If you split the image in five parts, you will have ca. 25 MB per image, very hard to compress -- if you include 1000 images, it would end up as a 25 GB download. Unwieldy to say the least...