I would like to create a web site with many images. But I would like to protect against direct access to images, e.g. direct links to images without visiting the web site.>
http://us3.php.net/image
You link the img element to a php file. This file checks if the user has the right permission, if so it can send an img response back.
Still someone with the permission can download the image and provide it to other people somewhere else (webspace/mail/whatever). To make it a bit harder to steal it you can disable right clicking on the image, but still a user who knows a little bit about http should not have any problems to steal it. You can place a signature over the image (for example the logo/name of your website) so people can see that you where the source. This can be done with php aswell.
If you want to be funy you can setup an other image that is sent if the link comes from an other page :P