如何对项目中的图片进行优化

优化步骤方案
  1. 不用图片。很多时候会使用到很多修饰类图片,其实这类修饰图片
    完全可以用 CSS 去代替。
  2. 对于移动端来说,屏幕宽度就那么点,完全没有必要去加载原图浪
    费带宽。一般图片都用 CDN 加载,可以计算出适配屏幕的宽度,然
    后去请求相应裁剪好的图片。
  3. 小图使用 base64 格式
  4. 将多个图标文件整合到一张图片中(雪碧图)
  5. 选择正确的图片格式:
    • 对于能够显示 WebP 格式的浏览器尽量使用 WebP 格式。因为 WebP格式具有更好的图像数据压缩算法,能带来更小的图片体积,而且拥有肉眼识别无差异的图像质量,缺点就是兼容性并不好
    • 小图使用 PNG,其实对于大部分图标这类图片,完全可以使用 SVG 代替
    • 照片使用 JPEG
常见的图片格式及使用场景
  1. BMP:是无损的、既支持索引色也支持直接色的点阵图。这种图片格式几乎没有对数据进行压缩,所以 BMP 格式的图片通常是较大的文件。
  2. GIF:是无损的、采用索引色的点阵图。采用 LZW 压缩算法进行
    编码。文件小,是 GIF 格式的优点,同时,GIF 格式还具有支持动画
    以及透明的优点。但是 GIF 格式仅支持 8bit 的索引色,所以 GIF 格
    式适用于对色彩要求不高同时需要文件体积较小的场景。
  3. JPEG:是有损的、采用直接色的点阵图。JPEG 的图片的优点是采用了直接色,得益于更丰富的色彩,JPEG 非常适合用来存储照片,与 GIF 相比,JPEG 不适合用来存储企业 Logo、线框类的图。因为有损压缩会导致图片模糊,而直接色的选用,又会导致图片文件较 GIF更大。
  4. PNG-8:是无损的、使用索引色的点阵图。PNG 是一种比较新的图片格式,PNG-8 是非常好的 GIF 格式替代者,在可能的情况下,应该尽可能的使用 PNG-8 而不是 GIF,因为在相同的图片效果下,PNG-8具有更小的文件体积。除此之外,PNG-8 还支持透明度的调节,而 GIF并不支持。除非需要动画的支持,否则没有理由使用 GIF而不是 PNG-8。
  5. PNG-24:是无损的、使用直接色的点阵图。PNG-24 的优点在于它压缩了图片的数据,使得同样效果的图片,PNG-24 格式的文件大小要比 BMP 小得多。当然,PNG24 的图片还是要比 JPEG、GIF、PNG-8大得多。
  6. SVG 是无损的矢量图。SVG 是矢量图意味着 SVG 图片由直线和曲线以及绘制它们的方法组成。当放大 SVG 图片时,看到的还是线和曲线,而不会出现像素点。这意味着 SVG 图片在放大时,不会失真,所以它非常适合用来绘制 Logo、Icon 等。
  7. WebP:是谷歌开发的一种新图片格式,WebP 是同时支持有损和无损压缩的、使用直接色的点阵图。从名字就可以看出来它是为 Web 而生的,什么叫为 Web 而生呢?就是说相同质量的图片,WebP 具有更小的文件体积。现在网站上充满了大量的图片,如果能够降低每一个图片的文件大小,那么将大大减少浏览器和服务器之间的数据传输量,进而降低访问延迟,提升访问体验。目前只有 Chrome 浏览器和 Opera浏览器支持 WebP 格式,兼容性不太好。
    在无损压缩的情况下,相同质量的 WebP 图片,文件大小要比 PNG 小26%;
    在有损压缩的情况下,具有相同图片精度的 WebP 图片,文件大小要比 JPEG 小 25%~34%;
    WebP 图片格式支持图片透明度,一个无损压缩的 WebP 图片,如果要支持透明度只需要 22%的格外文件大小。

你可能感兴趣的:(前端基础,性能优化,web,前端工程师,前端,性能优化)