图片压缩又分为有损压缩和无损压缩。

有损压缩

  • 有损压缩指在压缩文件大小的过程中,损失了一部分图片的信息,也即降低了图片的质量(即图片被压糊了),并且这种损失是不可逆的。

  • 常见的有损压缩手段是按照一定的算法将临近的像素点进行合并。

  • 压缩算法不会对图片所有的数据进行编码压缩,而是在压缩的时候,去除了人眼无法识别的图片细节。

  • 因此有损压缩可以在同等图片质量的情况下大幅降低图片的体积。

  • 例如 jpg 格式的图片使用的就是有损压缩。

无损压缩

  • 无损压缩指的是在压缩图片的过程中,图片的质量没有任何损耗。

  • 我们任何时候都可以从无损压缩过的图片中恢复出原来的信息。

  • 压缩算法对图片的所有的数据进行编码压缩,能在保证图片的质量的同时降低图片的体积。

  • 例如 png、gif 使用的就是无损压缩。

压缩工具

  • https://tinypng.com/

  • https://squoosh.app/

  • https://compressor.io/

图片选择格式

图片格式

压缩方式

透明度

动画

浏览器兼容

适应场景

JPEG

有损压缩

不支持

不支持

所有

复杂颜色及形状、尤其是照片

GIF

无损压缩

支持

支持

所有

简单颜色,动画

PNG

无损压缩

支持

不支持

所有

需要透明时

APNG

无损压缩

支持

支持

Firefox

Safari

iOS Safari

需要半透明效果的动画

WebP

有损压缩

or

无损压缩

支持

支持

Chrome

Opera

Android Chrome

Android Browser

复杂颜色及形状

浏览器平台可预知

SVG

无损压缩

支持

支持

所有(IE8以上)

简单图形,需要良好的放缩体验

需要动态控制图片特效

图片格式选择过程

HTML Img Compression(压缩)相关推荐

  1. asp.net core 系列之Performance的 Response compression(响应压缩)

    本文,帮助了解响应压缩的一些知识及用法(大部分翻译于官网,英文水平有限,不准确之处,欢迎指正). 什么是响应压缩?响应压缩简单的说就是为了减少网络带宽,而把返回的响应压缩,使之体积缩小,从而加快响应的 ...

  2. SQL Server 2008新特性之压缩备份(backup compression)

    背景 当我们升级.迁移或者重建数据库时,你是否为将一个大数据库文件(动不动上100GB)的传输而烦劳呢?当你在配置数据库镜像的时候,你是否也曾因为超大备份文件的移动而抓耳挠腮呢?当你需要跨地域传输数据 ...

  3. Premiere Pro Guru: Understanding Compression Premiere Pro 大师教程之如何理解压缩 Lynda课程中文字幕

    Premiere Pro Guru: Understanding Compression 中文字幕 Premiere Pro 大师教程之如何理解压缩 中文字幕Premiere Pro Guru: Un ...

  4. ASP.NET站点性能提升-压缩

    压缩协商 服务器怎么知道浏览器能够接收压缩内容?浏览器怎么知道接收的内容是压缩过的? 当支持压缩的浏览器向服务器发送请求时,会包含一个Accept-Encoding请求头,告诉服务器它支持的压缩算法. ...

  5. C#将文件压缩或者解压

    转载:msay C#自带压缩和解压的库 应用命名空间:using System.IO.Compression; 压缩: filePath为传入压缩文件的路径 private static void F ...

  6. Oracle 数据压缩(Compression) 技术 说明

    一.  官网说明 1.1 Oracle 11g Advanced Compression Oracle 11g EE版本中只有: Basic Table Compression ,而 AdvanceC ...

  7. 7z 快速、高压缩率的命令参数 压缩方法

    7z是一款免费开源的数据压缩解压软件,一般的私人或公司的软件使用,都可以使用该软件,来替换Zip或RAR这些商用软件. 7z可以通过编程的命令,进行固定方式的压缩,来满足数据备份或存档的需求. 7z有 ...

  8. Python处理zip压缩文件

    文章目录 ZipFile对象 写入压缩文件 读取和解压缩 常用属性 ZipInfo ZipFile对象 顾名思义,zipfile是处理zip文件的模块,其中最重要的类是ZipFile,其构造函数为 Z ...

  9. iOS swift5 图片压缩 UIImage

    参考博客:swift 图片压缩 // // UIImage_extension.swift // F // // Created by mac on 2022/3/30. //enum ImageCo ...

  10. ❤️让人心跳加速的陌陌案例,大数据必需学会的基础案例!❤️ 【推荐收藏】

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 已列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 陌陌案例 一.陌陌案例的需求说明 二.陌陌案例中表设计内容 1. ...

最新文章

  1. 模型可解释性技术概览
  2. tf.train.MomentumOptimizer()优化器
  3. boost::math模块实现将三次 b 样条插值器用于规则间隔的数据的测试程序
  4. 计算机基础:多媒体基础知识笔记
  5. 我们应该学习什么 java、C#还是C++(VC)
  6. Java 8 Lambda 表达式解析 1
  7. java 双击触发事件,用RxJava2的方式实现点击事件
  8. 百面机器学习—9.前馈神经网络面试问题总结
  9. c++5.8.2免费 dev_devc 中文版下载
  10. r语言平均值显著性检验_用R语言解读统计检验-F检验
  11. 记一个docker网络问题--network=host
  12. 戴维斯计算机科学值得读吗,2018加州大学戴维斯分校计算机科学专业基本信息详细解读...
  13. windows如何查看自己的ip地址
  14. 经管之家账号被封,显示IP地址不在允许范围内
  15. 【重点:线程池续】超人气组合:Callable和Future
  16. 多子群改进的海洋捕食者算法-附代码
  17. pandas的菜鸟级应用(谁都能学会)
  18. lib/python3.7/site-packages/torch/lib/../../../../libgomp.so.1: version `GOMP_4.0‘ not found (requir
  19. GSM 07.10 MUX(multiplexer protocol)
  20. 行政边界矢量数据shp/kml/json/csv(省、市、区、县、乡镇)

热门文章

  1. Android大事记(不断更新中)
  2. 一个学校内部的计算机网络属于,一个教室内计算机联成的网络属于____。
  3. python和c#交互_python与C#的互相调用
  4. python对abaqus本构二次开发_基于Python的Abaqus二次开发实例讲解
  5. Java概述标识符 、常量、关键字、数据类型
  6. 小汤学编程之JavaEE学习day10——Spring
  7. System.gc()与Object.finalize()的区别
  8. java.util.base64报错解决
  9. 网站缓存技术总结( ehcache、memcache、redis对比)
  10. POJ 2287 - Tian Ji -- The Horse Racing(贪心)