JPEG

JPEG 是由 Joint Photographic Experts Group 所开发出的一种图片。

它最大的特点是 有损压缩。这种高效的压缩算法使它成为了一种非常轻巧的图片格式。

另一方面,即使被称为“有损”压缩,JPG 的压缩方式仍然是一种高质量的压缩方式:

当我们把图片体积压缩至原有体积的 50% 以下时,JPG 仍然可以保持住 60% 的品质。

此外,JPG 格式以 24 位存储单个图,可以呈现多达 1600 万种颜色,足以应对大多数场景下对色彩的要求,

这一点决定了它压缩前后的质量损耗并不容易被我们人类的肉眼所察觉。

优点

  • JPEG 格式的图片可以呈现数百万种颜色。所以每当网站需要呈现色彩丰富的图片,JPEG 总是最佳选择。

  • 有损压缩,你可以通过压缩大大的减少图片的体积,一般图片用 60%级别比较合适,如果选择大于 75%的压缩等级,则会使图片有明显的质量下降。

  • 无兼容性问题,所以开发者可以放心随意使用。

使用场景

  • JPG 适用于呈现色彩丰富的图片,在我们日常开发中,JPEG 图片经常作为大的背景图、轮播图或 Banner 图出现。

  • 但是有损压缩后的图片确实很难露出马脚,当它处理矢量图形和 Logo 等线条感较强、颜色对比强烈的图像时,人为压缩的图片模糊会相当明显。

  • JPEG 图像不支持透明度处理,透明图片可选择使用 PNG。

PNG

PNG(可移植网络图形格式)是由 W3C 开发的图片格式,是一种无损压缩的高保真的图片格式。

它同时支持 8 位和 24 位,这里都是二进制数的位数。

按照我们前置知识里提到的对应关系,8 位的 PNG 最多支持 256 种颜色,而 24 位的可以呈现约 1600 万种颜色。

PNG 图片具有比 JPEG 更强的色彩表现力,对线条的处理更加细腻,对透明度有良好的支持。它弥补了上文我们提到的 JPEG 的局限性,唯一的缺点就是 体积太大。

应用场景

  • PNG 在处理线条和颜色对比度方面的优势,我们主要用它来呈现小的 Logo、颜色简单且对比强烈的图片或背景等。

  • 支持透明度处理,透明图片可选择使用 PNG

GIF

GIF 是一种最多支持 256 种颜色的 8 位无损图片格式。这个限制让 GIF 格式对于多颜色或者摄影图片的展示无能为力。

优点

  • 支持 256 中颜色,文件体积通常都很小

  • 支持透明

应用场景

  • 支持动画,适合去展示一些无限循环的动画,比如图标、表情、广告栏等。

  • 对于一些只有简单色彩的图片非常合适。

WebP

WebP 是一种同时提供了有损压缩与无损压缩(可逆压缩)的图片文件格式,派生自影像编码格式 VP8。

它像 JPEG 一样对细节丰富的图片信手拈来,像 PNG 一样支持透明,像 GIF 一样可以显示动态图片,集多种图片文件格式的优点于一身。

WebP 最初在 2010 年发布,目标是减少文件大小,但达到和 JPEG 格式相同的图片质量,希望能够减少图片档在网络上的发送时间。

根据 Google 较早的测试,WebP 的无损压缩比网络上找到的 PNG 档少了 45%的文件大小,

即使这些 PNG 档在使用 pngcrush 和 PNGOUT 处理过,WebP 还是可以减少 28%的文件大小。

虽然 webP 有诸多优点,但是它不能完全替代 JPEG 和 PNG,因为浏览器对 WebP 支持并不普遍。

特别是移动端 IOS 系统基本不支持。

HTML Img(Type)相关推荐

  1. 类的设计与实现1、设计一个图形抽象类Graph,该类中有成员变量图形类型(type),维度信息(dimension,二维或三维);成员方法计算面积(computeArea); 2、设计一个接口

    类的设计与实现 1.设计一个图形抽象类Graph,该类中有成员变量图形类型(type),维度信息(dimension,二维或三维):成员方法计算面积(computeArea); 2.设计一个接口IDi ...

  2. 【批处理DOS-CMD命令-汇总和小结】-显示文本文件内容(type),对文本文件的整行字符串进行排序(sort)

    一.读取文本文件--type 先看一下type的帮助信息. 由此可见,type的作用就是来读取文件的内容的,内容可以参考"以记事本方式"打开的情况,如果是txt.md.bat这种纯 ...

  3. 秒懂Java类型(Type)系统

    版权申明]非商业目的注明出处可自由转载 博文地址:https://blog.csdn.net/ShuSheng0007/article/details/89520530 出自:shusheng007 ...

  4. MySQL索引类型(type)分析

    type索引类型: system > const > eq_ref > ref > range > index > all优化级别从左往右递减,没有索引的⼀般为'a ...

  5. typeScript 接口(interface)及其与类型别名(type)的区别

    背景 最近自己在学习一些视频剪辑相关的工具,像爱剪辑,剪映这些软件.然后就想自己是不是也可以实现一个类似的,轻量级的在线剪辑工具.最后发现这个款node端的工具库FFCreator,接下来简单介绍一下 ...

  6. MySQL索引. ref_MySQL索引类型(type)分析

    type索引类型: ststem > const > eq_ref > ref > range > index > all 优化级别从左往右递减,没有索引的一般为' ...

  7. PyTorch 笔记(11)— Tensor内部存储结构(头信息区 Tensor,存储区 Storage)

    1. Tensor 内部存储结构 tensor 数据结构如下图所示,tensor 分为头信息区(Tensor)和存储区 (Storage),信息区主要保存着 Tensor 的形状(size).步长(s ...

  8. Go 学习笔记(39)— Go 反射

    本文参考 http://c.biancheng.net/golang/reflect/ 反射是把双刃剑,功能强大但代码可读性并不理想,若非必要并不推荐使用反射. 1. 反射概念 反射是指在程序运行期对 ...

  9. 运算符优先级记忆口诀及列表(转)

    C语言运算符优先级和口诀 一共有十五个优先级: 同一优先级的运算符,运算次序由结合方向所决定 1   ()  []  .  ->        (括号,成员排第一) 2   !  ~   -(负 ...

最新文章

  1. 看直播赢大奖-智能物流技术培训
  2. 对称矩阵(Symmetric Matrices)
  3. java t没有缩进,Github上Java Eclipse项目的奇怪缩进
  4. Sklearn:sklearn.preprocessing之StandardScaler 的transform()函数和fit_transform()函数清晰讲解及其案例应用
  5. 转:C# Thread
  6. Java初学者需掌握的4大核心基础知识
  7. java面试题二十九 多线程数据共享问题
  8. wordcount.java_mapreduce中wordcount的java实现
  9. Android开发笔记(九十八)往图片添加部件
  10. 记录——《C Primer Plus (第五版)》第十一章编程练习第四题
  11. MSCI 成份股 清单
  12. 利用组策略进行软件分发
  13. nginx的location优先级
  14. 魔方Newlife.Cube权限系统的使用及模版覆盖详解
  15. instagram怎么用_用PHP和Instagram API征服Instagram
  16. 卡内基梅隆大学计算机系难考,考出托福成绩 成功申请卡内基梅隆大学计算机科学专业...
  17. Android源码目录结构详解
  18. 天行健,君子以自强不息.
  19. 2020年cvpr_2020年cvpr持续学习
  20. 2010 01 13 开博

热门文章

  1. 2018年网络规划设计师上午真题及答案解析
  2. 常见数据库默认端口号
  3. BAL数据集与BA优化
  4. 调用父类方法而非直接设置父类属性
  5. 基于ruby环境搭建Redmine
  6. sublime text3 3176激活
  7. 2018年技术上该怎样努力
  8. 从XMLHttpRequest中获取请求的URL
  9. U-LINK2 升级后低版本不识别问题
  10. Service实现文件下载