Thus, when it comes to size .bmp > .jpg > .gif
Simply, .jpg is NOT ONLY for pictures taken with a camera.
Both statements are incorrect. .jpg is a compression format that should be only used for pictures taken with a camera. When you zoom in on an image taken with a digital camera or scanned, you will see that the colors in that image are created by mixing different shades of a similar color. So when you take a picture of say something like a white wall, this scanned image will actually be made of thousands of colors. The reason that is done is simple, in natural lighting conditions a white wall will actually reflect countless shades of white. If you reduced the colors in such an image to 4 or 5 shades of white, you would clearly see the borders between the patches of different colors rather than a continuous wall surface.
.jpg was designed to compress such images. I don't know the details, but I'm guessing this is done partly by evenly spreading out the colors that are exactly the same. To use a favorite analogy in the trading world, if you flip a coin a hundred times, which would give you 50 heads and 50 tails, and compressed the results as a .jpg, the output could be something like a 100 alternating heads and tails, which would be easy to compress. Having agreed on some protocol, you could simply represent such a result as:
100HT
which would uncompress as:
HTHTHTHT....etc. (a hundred times.)
This is an oversimplification, as this is not exactly how it works, and there is more to a jpg than that, but the point is that particular compression scheme was designed to compress images the colors of which are made up of alternating pixels of many different colors.
.jpg is also lossy, meaning it loses data, and once you compress something as a jpg, you will never get from that the original image. You can see this in the example above, if you changed 'heads' and 'tails' to white and black, the result after compression might be more or less the same shade of gray, but you no longer know the exact value of each original pixel.
Because jpg uses this method of alternating pixels, images converted to jpg will also lose any clearly defined edges. This doesn't matter in real images, but the colors will appear to bleed when you use jpg to compress graphics.
Gif uses a different method, it will compress a string of exactly the same colored pixels by converting such a string to a value for the color and a number for the number of pixels (again, I don't know exactly how this is done.)
HTHTHT would probably be compressed as one h one t one h etc.
Gif is not lossy, so it will save the value of every pixel.
hhhhhhhhhhhhhhhhhhhhhttttttttttttttttttttttttttttttttt (which is how an artificially created graphic would look - they're made up of pixels of exactly the same color next to each other) would be compressed as... say 20h30t.
So as you can see, .jpg will compress a picture taken with a camera much better than a gif would, on the other hand a computer generated image (not counting things that are supposed to look real-life) would be much better compressed by a gif. Also, a jpg will significantly worsen the quality of a graphic, as the colors will bleed near the edges, and the image will not look exactly as the original.
Whoever designed a charting program that converts to .jpg should learn the basics of image compression. In the future always save as .bmp and convert to .gif directly.
Voodoo