web 图片简介及优化策略

目前H5所用的图片格式大多是JPG、png、svg、webp。 今天我们就来介绍一下这几种图片格式,和什么场景下应该用什么样格式的图片。

格式介绍

  1. png 支持透明,浏览器兼容好

    格式 说明 字节数
    png8 2^8色+支持透明。 256色,适合颜色简单的图片 8bit
    png24 2^24色+不支持透明 24bit
    png32 224色+28支持透明。适合颜色比较复杂的图片 32bit = 24(颜色索引)+8(支持透明)
  2. jpg 有损压缩,压缩率高,不支持透明。

  3. webp google出品,压缩程度更高,但是在iOS webview中有兼容问题

  4. svg 矢量图,可内嵌到代码里,图片内容比较简单

各种格式的使用场景

  1. 通常情况下图片体积: png > jpg > webp
  2. 如果图片不需要支持透明,可以用webp或者JPG代替png图片。如果浏览器支持webp,最好用webp
    // 检测是否支持webp格式
    (function isSupportWebp() {
      var hasWebP = false
      var img = new Image();
      img.onload = function() {
        hasWebP = !!(img.height > 0 && img.width > 0);
      };
      img.onerror = function() {
        hasWebP = false;
      };
      img.src = 'data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=';
    })()
    
  3. svg通常用作小的icon, 如阿里的iconfont

压缩方式

  1. 雪碧图, 现在通常不用了。 因为如果由于网络原因导致雪碧图没有加载出来,则雪碧图中的多个图片都会显示不出来,导致页面上有很多空白
  2. image inline: 转成base64嵌入到HTML中。 比如一个图片只有1kb,那么这个时候单独的发送一个http请求是比较耗时的. 而将其内联到代码里就会比较好。
  3. 矢量图,对于icon、简单图片,矢量图压缩效果会比较好。

几个网站

  1. 图片压缩tinypng
  2. 压缩+转webp
  3. svg教程
  4. iconfont
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 图像(image) 常用的图像文件存储格式: CDR格式 该格式是CoreDraw软件专用的一种图形文件存储格式;...
    我才不是稻草人阅读 5,600评论 0 0
  • 如今行业内的图片格式越来越丰富,优化、压缩的方法也越来越多。我们该如何选择适合自己项目的图片优化方法呢?让我们来一...
    范落落阅读 4,223评论 0 0
  • 前言 在互联网快速发展,热火朝天的当下,无论是PC端,还是移动端,图片都是必不可少的元素。好的图片能让我们的应用熠...
    无神阅读 3,535评论 0 0
  • 在网页上大部分有图片构成,也就是说超过一半的流量和时间都是用来下载图片。从性能优化的角度看,图片也绝对是优化的热点...
    花花0825阅读 2,812评论 0 0
  • 前言 对于iOS上一文简单介绍内存,可是还少了写东西,我自己感觉对于内存和线程的联系不够多。特别是app 在多线程...
    笨驴爱吃胡萝卜阅读 5,837评论 0 2

友情链接更多精彩内容