本文原创:huhongtaocss
BMP、JPEG、GIF、PSD、PNG、TIFF、TGA、EPS、SVG、webP、CDR、PCX、EXIF、FPX、PCD、DXF、UFO、AI、HDRI、RAW、WMF、FLIC、EMF、ICO前端
矢量图:由数学向量来记录的图像是矢量图web
特色:放大后图片依旧清晰—放大后从新构图算法
缺点:很难表现天然度高的写实图像chrome
格式:SVG、CDR、AI、WMF、EPS、ICO、TGA、DXF、…缓存
位图:由一系列像素点组成的图像是位图,位图也称为点阵图bash
特色: (1)放大会看到像素点,呈现锯齿状——放大后单位面积的像素点减小 (2)dpi决定图像的清晰度 (3)RGB彩色图像——色彩丰富网络
格式:PNG、JPEG、GIF、BMP、webP、PSD、TIFF、PCX、FPX、PCD、…并发
二者差异svg
类型 | 位图 | 矢量图 |
---|---|---|
构图方式 | 像素点 | 向量 |
色彩 | 色彩丰富 | 色彩变化少 |
失真 | 放大、缩小易失真 | 不失真,良好的缩放性 |
大小 | 大(面积越大,色彩越丰富,越大) | 小 |
分类 | bpm、jpg、gif、psd、png、... | wmf、ai、EPS、SVG、cdr、emf、dxf、... |
位图不一样格式的区别 —— 有损压缩、无损压缩
不一样格式的图像在记录这些数据时的方式不同,涉及到有损压缩和无损压缩的区别
概念:并不彻底真是的记录图像上每一个像素点的数据信息,去掉那些图像上会被人眼忽略的细节,而后使用附近的颜色经过渐变或其余形式进行填充。
特色:能大大下降图像信息的数据量,又不会影响图像的还原效果
格式:jpg
概念:真实的记录图像上每一个像素点的数据信息,为了压缩图像文件的大小会采用一些特殊的算法
压缩原理:先判断图像上哪些区域的颜色是相同的,哪些是不一样的而后把这些相同的数据信息进行压缩记录,(例如一片蓝色的天空只须要记录起点和终点的位置就能够了),而把不一样的数据另外保存(例如天空上的白云和渐变等数据)
格式: (1)PNG(对图像上全部出现的颜色进行索引,咱们把这些颜色成为索引色,PNG8(索引256色)、PNG24(真彩16.7million色)、PNG32(真彩16.7million色)) (2)GIF,索引256色,支持动画
介绍 png、jpg、psd、svg、webp、iconfont
png —— 主要特性是半透明
jpg
“基线”格式的JPG加载过程
“连续”格式的JPG加载过程
jpg格式保存方式
psd
svg
经过记录坐标的形式存储图形信息,SVG使用基于XML的语义化标签结构,因为是DOM结构,你能够经过ID获取SVG元素,并操纵它们
webp
目标:减小文件大小,但达到和JPEG格式相同的图片质量,但愿可以减小图片档在网络上的发送时间
iconfont
gif
一、前端使用何种图片格式
一、通常层次丰富颜色较多的图像采用JPG存储,而颜色简单对比强烈的则须要采用PNG
二、有些矢量工具绘制的图像因为采用较多的滤镜特效也会造成丰富的色彩层次,这个时候就须要采用JPG进行存储了
三、基本视觉元素,如容器的背景、按钮、导航的背景等应该尽可能用PNG格式进行存储,这样才能更好的保证设计品质
照片用 JPG。
动画用 GIF。
Logo、Icon 等小图用 PNG-8。
复制代码
二、加载的图片太多、太大怎么办
一、将图片和应用分离,防止高I/O负载而崩溃,同一时间对同一域名下的资源的并发请求数目限制
二、压缩
三、懒加载
四、css雪碧图css Sprites
五、将图片压缩成base64格式来节约请求
复制代码
三、前端图像处理工具
一、[tinypng.com](https://tinypng.com/)
二、[腾讯智图](http://zhitu.isux.us/)
三、[pngcrush](https://pngcrush.com/)
四、...
复制代码
1.更好的压缩算法,并且经过智能地减小颜色数,达到有效的压缩。 2.压缩比高,失真小
1.除了 PNG 和 JPG ,还支持 WebP
2.能够直接看到压缩后的图片大小
1.能够批量压缩图片 2.可减小40%的大小
四、图片懒加载的原理
五、base64
1.减小请求次数 2.转化后不必定会减少体积 3.不会被缓存,适合较小或者简单的图片