The meaning of the various hex values in an image file depends entirely on the format of the file.
No, a 500x500 pixel image is probably NOT going to have 250,000 bytes in it. It's possible that the image data may be 250,000 bytes, but chances are good that it may be more or less. This is because in most image formats you're going to have multiple pixels per byte or, the opposite, many bytes per pixel.
The number of bytes of image data will also be affected by any compression algorithm being used by the image format and if there are any quality settings for it.
There is also data that is not part of the image itself.
Quote:
Is there a tool which would display the image when I enter some random hex values in a file and save it in any of the numerous image file formats?
No, there isn't. It doesn't make sense to do something like this. What you "randomly" put into the file will probably not be valid data for whatever image format you chose.