jpg、png、gif图片格式的介绍
jpg、png、gif图片格式的介绍
jpg、png、gif图片格式的介绍一、JPEG图片格式
JPEG格式是一种大小与质量相平衡的压缩图片格式。通俗一点讲,就是:高的压缩比=低的图片质量=小的文件大小。反之,低的压缩比=高的图片质量=大的文件大小。由于JPEG文件无法保持100 %的原始图像的像素数据,所以它不被认为是一种无损图像格式。
JPEG文件的扩展名.jpg或.jpeg。其压缩技术十分先进,使用有损压缩的方式去除冗余的图像和彩色数据,在获取极高压缩率的同时能展现十分丰富生动的图像,因此特别适合在网上发布照片。
JPEG图形文件格式的特性如下
1、支持大约1670万种颜色,可以很好地再现摄影图像,尤其是色彩丰富的大自然照片。
2、JPEG格式支持很高和压缩率,文件占用磁盘空间小。
3、有损压缩的JPEG格式可能会造成图像质量上的损失。
4、可以通过设置生成的JPEG图像的较高【品质】,来弥补图片质量的缺陷,但这样会增大磁盘占用空间。通常选择80%的图像【品质】,肉眼就很难分辨原始图片和压缩过的图片之间的显示差别。
5、用户可以根据自己的需要,在保存JPEG图形文件时自定义图像质量。
二、GIF图片格式
GIF格式,是为使图片能够应用在在线(online)应用程序上所特别开发的图片格式。Gif,有时也被成为“Giff”,是一种无损,8位图片格式。“无损”是指100%的保持原始图片的像素数据信息。专业名词“8位”是指,所能表现的颜色深度——一个8位图像仅最多只能支持256种不同颜色(一个多余256种颜色的图片若用gif图片保存会出现失真)。
使用GIF格式的图像最多可以显示256种颜色。此格式的特点是图像文件占用磁盘空间小,支持透明背景,支持动画
1、GIF特性
透明特性:
GIF支持基本的透明特性,这意味着你能够使图片的某些像素“不可见”。在其被放置到网页中时,我们就可以看到通过这些不可见区域看到此图片后面的背景颜色(图片)。此特性非常有用:如果你需要将某个gif图片的内容置于所有图片的上层,你可以将其设置为透明。
压缩特性:
GIF格式采用LZW算法进行压缩,此算法是Unisys申请的一项专利。在很久很久之前,如果你想使用GIF格式,那么就意味着你需要向Unisys付费申请专利许可。不过值得高兴的是,此项专利技术已于2003年6月20日过期,我们现在可以免费的使用GIF了!
隔行扫描:
GIF同时也支持隔行扫描。隔行扫描能够令图片在浏览器中更快的加载和显示。此特性对于那些慢网速的浏览者来说尤其实用。
动画GIF:
一个动态的GIF文件,是由若干帧图片所联结而成的动态图片。在显示时,这些动态帧被反复的绘制读取出来从而形成了简单的动画效果。合理的运用GIF动画能够为网页增添动静结合的效果,而过度的使用则会使网页杂乱无章。
三、PNG格式
PNG格式也是一种无损压缩,但与GIF格式不同的是,PNG同时支持8位和24位的图像。
8位PNG图像
一个8位PNG图片,支持透明背景且像素颜色不能超过256种。除了压缩算法不同之外,此8位PNG格式与GIF格式极其相似;
24位PNG图像
24位PNG,支持160万种不同的像素颜色且支持Alpha透明效果,这就意味着,无论透明度设置为多少,PNG图片均能够与背景很好的融合在一起。
PNG的优点
1、PNG格式汲取了GIF和JPEG二者的优点,存储形式丰富,兼有GIF和JPEG的色彩模式。
2、PNG格式能把图像文件大小压缩到极限以利于网络的传输,却不失真。PNG采用无损压缩方式来减少文件的大小,在这方面与牺牲图像品质以换取高压缩率的JPEG格式相比有所不同。
3、PNG格式的图像显示速度快,只需下载1/64的图像信息就可以显示出低分辨率的预览图像。
4、PNG格式同样支持透明图像的制作。采用这种格式可以有效地避免出现GIF格式中出现的“毛边”现象。
5、PNG是第一种支持监视器的伽码设置修正的图像文件格式,这使得PNG格式的图像在任何平台上都可以得到同样的显示效果。
PNG缺点
作为一种图像文件格式,与JPEG的有损耗压缩方式相比,PNG提供的压缩量较少;PNG对多图像文件或动画文件不提供任何支持,在这方面不如GIF格式;同时它只有少部分浏览器支持,应用不够广泛。
四、jpg、png、gif图片格式各方面比较
1、大小比较:通常地,PNG ≈ JPG > GIF
2、透明性:PNG > GIF > JPG
3、色彩丰富程度:JPG > PNG >GIF
4、兼容程度:GIF ≈ JPG > PNG
热门推荐
- ui界面的测试用例(AmazeUI 模态窗口的实现代码)
- dedecms更新后设置空白(织梦DedeCms上传的图片点击打开改为不新窗口打开)
- python如何使用multiprocess(Python multiprocessing多进程原理与应用示例)
- python自动识别旋转验证码(Python实现字符型图片验证码识别完整过程详解)
- 如何提高代码可读性
- vue websocket实时刷新数据(Vue+WebSocket页面实时刷新长连接的实现)
- python写一个二叉树(Python二叉搜索树与双向链表转换算法示例)
- devc报错信息找不到(dede5.7验证码错误不显示的解决方法)
- sql怎么把表移到另一个数据库中(sql存储过程实例--动态根据表数据复制一个表的数据到另一个表)
- laravel自定义使用方法(Laravel使用Queue队列的技巧汇总)