你应该知道几个关键因素...
首先,有两种类型的压缩:无损和有损。
无损意味着图像变得更小,但不损害质量。有损意味着图像变得(甚至)更小,但会损害质量。如果您一遍又一遍地以有损格式保存图像,图像质量会越来越差。
还有不同的颜色深度(调色板):索引颜色和直接颜色。
使用索引意味着图像只能存储图像作者选择的有限数量的颜色(通常为 256 种),使用直接意味着您可以存储作者未选择的数千种颜色。
BMP - 无损/索引和直接
这是一种旧格式。它是无损的(保存时不会丢失图像数据),但也几乎没有压缩,这意味着保存为 BMP 会导致文件非常大。它可以有索引和直接的调色板,但这是一个小小的安慰。文件大小太大,以至于没有人真正使用过这种格式。
适合:真的没什么。BMP 没有什么擅长的,或者没有其他格式做得更好。

GIF - 无损/仅索引
GIF 使用无损压缩,这意味着您可以一遍又一遍地保存图像而不会丢失任何数据。文件大小比 BMP 小很多,因为实际使用了良好的压缩,但它只能存储索引调色板。这意味着文件中最多只能有 256 种不同的颜色。这听起来是一笔不小的数目,而且确实如此。
GIF 图像也可以是动画的并且具有透明度。
适用于:徽标、线条图和其他需要很小的简单图像。只真正用于网站。

JPEG - 有损/直接
JPEG 图像旨在通过删除人眼不会注意到的信息来使详细的照片图像尽可能小。因此,它是一种有损格式,并且一遍又一遍地保存同一个文件将导致更多数据随着时间的推移而丢失。它有数千种颜色的调色板,因此非常适合照片,但有损压缩意味着它对徽标和线条图不利:它们不仅看起来模糊,而且与 GIF 相比,此类图像的文件大小也更大!
适合:照片。还有,渐变。

PNG-8 - 无损/索引
PNG 是一种较新的格式,PNG-8(PNG 的索引版本)确实是 GIF 的一个很好的替代品。然而,遗憾的是,它有一些缺点:首先它不能像 GIF 那样支持动画(它可以,但似乎只有 Firefox 支持它,不像每个浏览器都支持的 GIF 动画)。其次,它对 IE6 等较旧的浏览器存在一些支持问题。第三,像Photoshop这样的重要软件对格式的实现很差。(该死的,Adobe!)PNG-8 只能存储 256 种颜色,比如 GIF。
优点:PNG-8 比 GIF 做得更好的主要方面是支持 Alpha Transparency。

重要说明: Photoshop 不支持 PNG-8 文件的 Alpha 透明度。(该死的,Photoshop!)有一些方法可以将 Photoshop PNG-24 转换为 PNG-8 文件,同时保持其透明度。一种方法是PNGQuant,另一种方法是使用Fireworks保存文件。
PNG-24 - 无损/直接
PNG-24 是一种很好的格式,它结合了无损编码和直接颜色(数千种颜色,就像 JPEG)。在这方面它非常像 BMP,除了 PNG 实际上压缩图像,因此它产生的文件要小得多。不幸的是,PNG-24 文件仍将比 JPEG、GIF 和 PNG-8 大得多,因此您仍然需要考虑是否真的要使用其中一个。
尽管 PNG-24 在进行压缩时允许使用数千种颜色,但它们并非旨在取代 JPEG 图像。保存为 PNG-24 的照片可能至少比等效的 JPEG 图像大 5 倍,而可见质量几乎没有改善。(当然,如果您不关心文件大小并希望获得最佳质量的图像,这可能是一个理想的结果。)
就像 PNG-8 一样,PNG-24 也支持 alpha 透明度。
我希望这会有所帮助!