GD library can handle it. Lots of people will refer to this as creating a thumbnail (or something similar) and there are plenty of exmaple scripts floating around the 'net to help you automate that task. This isn't something you have to do manually.
As for the google images issue, google creates and displays their own thumbnail of the image result in the search (I have had image searches lead to 404'd actual images before, but the google thumbnail is still there and still shows up in the results). If you examine the page source you can see this quite clearly. So when you choose to open the image from your context menu, you are choosing to open their thumbnail, which is the (80x80 or so?) preview of the image that you are already staring at. Your browser has no idea that you want it to fetch a completely different image than that. So there is no CSS plaguing you when you view an image directly in the browser, that's just the native size of their thumbnail. Google has had the decency to require users to at least visit the page they are grabbing a full-size image from and you can't get around that with your browser's context menu options.