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. 4、jQuery实现的全选、反选和不选功能
  2. 程序员写代码崩溃,路过的暖心美团骑手:我帮你看看!
  3. 【kAriOJ】离散数学春季学期编程测试 1
  4. 解决 macOS 下HTTP请求访问本地服务被阻塞5秒钟的问题
  5. mysql中日期相减_如何使用MySQL数据库
  6. 1060 Are They Equal
  7. 演练 动态数组存储学生对象 并且实现遍历 0119
  8. 万字长文:解读区块链7类共识算法
  9. 最大值_期末C语言特辑 计算一维数组中最大值
  10. 2021亚太杯数学建模竞赛
  11. 米家扩展程序初始化超时_Home · MiEcosystem/miot-plugin-sdk Wiki · GitHub
  12. pillow图像格式转化和缩放操作
  13. JS中改变this指向的两种方法
  14. 快速上手efficient(keras)
  15. 高通8953启动流程
  16. 【Unity】Sprite Atlas功能讲解
  17. 克鲁伊夫:斗牛士因巴萨疯癫 红蓝一点克死皇马(2009-11-17)
  18. 不要再逼我们去见旧情人
  19. VM2230 asdebug.js:xxx:端口不在以下 request 合法域名列表中
  20. spring框架学习 - Data Access之 事务管理 - 声明式事务管理

热门文章

  1. 基于STM32-HAL库的直流电机控制
  2. sql 删除依赖_关系数据库标准语言SQL(二)
  3. @scheduled注解配置时间_Java开发重写Spring Boot定时任务,支持可动态调整执行时间...
  4. 搞定Server 2008蓝牙问题
  5. 【链接】 一篇很好的有关卡特兰数的博文
  6. hibernate VS mybatis
  7. IIS搭建网站遇到的问题
  8. 【转载】特殊宏://{{AFX_MSG、//{{AFX_VIRTUAL、//{{AFX_MSG_MAP、//{{AFX_DATA_INIT
  9. LA 6047 Perfect Matching 字符串哈希
  10. flutter网络dio框架get请求使用总结