Disclaimer: I've actually written image encoding/decoding algorithms.Compression does not equal loss. The two are totally different. You can have lossless uncompressed (BMP), lossless compressed (PNG), lossy compressed (JPG), etc.
using a lossless format where possible (RAW, BMP or whatever).
First there's hardly any reason to recommend BMP over PNG. BMP is unnecessarily wasting bandwith / storage.
Then it's a common misconception that RAW is lossless. It typically is not even though there can be some lossless RAW. Now if you're talking about "RAW" coming out of most digital camera and if the loss in these RAW is perceptible or not to the average user is another topic entirely. But RAW typically is lossy and that is a fact (more on this later).
Also recommending RAW hardly makes sense unless the OP is into high-end digital photography and owns a camera able to ouptut RAW (whatever "RAW" means, more on this latter).
Note that I'm
not saying that RAW is always lossy: I'm saying that RAW is typically not lossless. (I point that out so that people don't come distorting my words).
Also, your sentence make it sound like PNG is lossy: PNG is typically not lossy. PNG is compressed but lossless up to 48-bit RGB or 64-bit RGBA pictures (up to 16 bits per pixel per each R and G and B component and optional alpha value).
So if your source has 48-bits per pixel or less, then the resulting PNG shall be compressed but totally lossless: it won't add any loss. As far as I know if your picture has more than 16 bits per pixel per value then it's the only case where PNG become lossy: this however would be very rare and the general consensus is that PNG is a lossless format.
For example if you take a picture with a digital camera and save it to "RAW" then convert it to PNG the PNG won't add more loss than the loss added by the camera when saving to RAW (if any loss there is, but in typical camera/settings RAW shall be lossy). Not that you would want to do that: because PNG typically ain't a good choice to save pictures coming out of a camera. I just took it as an example to show that PNG won't add loss.
The issue with RAW is really messy because "RAW" doesn't mean anything: it's not a standard, it's doesn't mean "lossless". "RAW" really doesn't mean much besides "not crapily lossily .jpg encoded". Besides that, there are several types or "RAW": uncompressed lossless, compressed lossy, etc.
Here's one example (amongst a huge lot of examples clearly detailing why RAW in most cases is not lossless) of a pro's take on the "RAW" subject (Google is your friend):
Nikon makes no claims that the format is lossless, but they say that the amount of information that is tossed out is insignificant, and that the format’s algorithm is “not visible lossy” or something to that effect. Obviously, if you’re chosing not to shoot JPEG, the idea of losing image data seems to negate one of the entire reasons to shoot raw.
...
It’s definitely lossy, whether or not that loss is perceptible to the average user. The raw sensor has a range of 0-4095, but a non-linear curve reduces this to the range 0-682.
PNG is lossless: you'll get exactly the same pixel values when decompressing what you compressed using PNG.
RAW is often lossy in that it is
not saving the picture your camera really took (once again, there are many "RAW" types and many different RAW outputs depending on your camera and camera settings, "RAW" really doesn't mean much).
The Wikipedia article on RAW is quite exhaustive (and clearly states the fact that there are lossy RAW formats and points to the specs):
http://en.wikipedia.org/wiki/Raw_image_format I know that I used the words "often" and "typically" a lot but basically I'm just stating facts here. A friend of mine who worked on the Photoshop codebase would probably explain all this better than I can (and english ain't my native language)
![Smiley :)](https://cdn.geekhack.org/Smileys/solosmileys/smiley.gif)