但实际上你会发现:在相同分辨率、相同位深度的前提下,把这张图片存成2种不同的格式(jpg、png),它们的大小是不同的,而且都小于理论上的8.79KB。
其实jpg、png都是经过压缩后的图片(具体的压缩算法和原理,就不在此讨论了,大家可以到网上自行搜索),所以它们的大小会比理论值偏小。
图片的压缩类型可以分为2种:
无损压缩
不损失图片质量
压缩比小,体积大
解压(显示)后能够还原出完整的原始图片数据,不会损失任何图片信息
有损压缩
会损失图片质量
压缩比大,体积小
解压(显示)后无法还原出完整的原始图片数据,会损失掉一些图片信息
压缩比 = 未压缩大小 / 压缩后大小
压缩类型 位深度JPG(JPEG) 有损压缩 24bit
PNG 无损压缩 8bit、24bit、32bit
GIF 无损压缩 8bit
GIF
众所周知,gif是一种支持动画的图片,所以一般也叫作gif动态图,微信的动态表情包就是基于gif动态图。
gif动画的实现原理类似手翻书。
gif的动画原理是:
gif内部存储了很多帧(张)静态图片
在短时间内,连续按顺序地呈现每一帧静态图片,就形成了动画的效果
像上面那张《悟空vs克林》的gif动态图,它内部存储了44帧静态图,只要按顺序从01.jpg播放到44.jpg,就能呈现出连贯的动画效果。
不管是gif动态图,还是手翻书,它们的动画原理其实都基于:视觉暂留(Persistence of vision)现象。
当人眼所看到的影像消失后,人眼仍能继续保留其影像约0.1~0.4秒左右,这种现象被称为视觉暂留现象
人眼观看物体时,成像于视网膜上,并由视神经输入人脑,感觉到物体的像,但当物体移去时,视神经对物体的印象不会立即消失,而要延续0.1~0.4秒的时间,人眼的这种性质被称为“眼睛的视觉暂留”
我们日常使用的日光灯每秒大约熄灭100余次,但我们基本感觉不到日光灯的闪动,这都是因为视觉暂留的作用
在一帧图片消失在大脑中之前呈现下一帧图片,反复如此,就可以形成连贯的动画效果
电影的帧率是24fps
fps:每秒的帧数,Frames Per Second