目前网站图片的采用一共有流行三种,分别是JPG、PNG、GIF,然而很多人并不知道三者在选择的时候究竟应该选谁(BMP就不考虑了吧)。虽然都可以存储图片,但是如果要发布到网上,就必须考虑速度、大小和失真程度的问题。如果你运用得好,选对图片,那样便会使网站的整体体验上升,如果你运用得不好,就会引起反效果。下面我通过文件大小等多方面的元素来讲一下网站图片的合理选择。
PNG、GIF、JPG 介绍
GIF 图片
Gif 算是比较老的图片格式了,它的色彩效果最低,用gif保存鲜艳的图片的话会让你的网站看上去非常可怕。但是gif有着不可忽视的特点:体积小,有着极好的压缩效果,支持动画,并且支持透明效果,虽然这个透明没有PNG的那样渐变透明的强大。动画选gif没错;如果你的图片只有很单调的色彩,没有渐变色,例如只有红蓝两色,那么选GIF最好不过了!例如百度的首页LOGO就是很好的例子,它的大小只有2KB,节省了资源。
JPG / JPEG 图片
JPG是数码相机最常用的格式,其特点是色彩还原好,可以在照片不明显失真的情况下,大幅降低体积,所以体积不很大,缺点是不支持透明。照片类的图片,例如网站上的Gallery,你想要张贴出来的自然风景之类,最好都用JPG。但是屏幕截图呢?一会介绍。
PNG 图片
可谓是最适合网络的图片!PNG的优点是,清晰,无损压缩,压缩比率很高,可渐变透明,具备几乎所有GIF的优点;缺点是不如JPG的颜色丰富,同样的图片体积也比JPG略大。但是PNG应该在网站设计上被推广,它是公认的最适合网页使用的图片格式。Google就是一个很好的例子。Google所有站点几乎全部的图片资源都是PNG格式。8位的PNG完全可以替代掉GIF。
上图就是Google的LOGO,选择PNG是为了最清晰同时体积更小,并且Google主页的LOGO图片并不是背景透明的,而是白色背景的。既然不是透明的,为什么不选择JPG呢?Google难道没有考虑吗,所以png有其优势。
PNG有着另一个优点,那就是逐次逼近显示(progressive display):传输图像文件的同时,可以先把整个轮廓显示出来,然后逐步显示图像的细节,即先显示低分辨率显示图像,从模糊到清晰,然后逐步提高它的分辨率。这是一个很好的用户体验。
各方面比较
大小比较:通常地,PNG ≈ JPG > GIF
透明性:PNG > GIF > JPG
色彩丰富程度:JPG > PNG >GIF
兼容程度:GIF ≈ JPG > PNG
注意,IE6下PNG的透明是不能显示的,有其对应的Hack方法。
PNG vs JPG 大小实测
我在电脑上用电脑自带的截图软件进行完全一样的截图,分别保存为JPG和PNG。下面是截图后所得的原始图片大小比较:
可以看到,JPG的大小要远小于PNG,PNG整整大了几乎110KB。要知道在网络上,即使减小10KB,也会带来用户体验的提升。
然后我用Imageoptim软件对这两张图进行无损压缩。最后你可以看到,PNG拥有着很高的压缩比,JPG则只是减小了一点。最后PNG比JPG的大小高出50KB左右,算是比较成功的压缩了。不过,这就代表屏幕截图用JPG更好吗?
JPG、PNG,谁更适合截图
PNG更适合屏幕截图!png是软件截屏的最佳选择(体积非常小;最清晰),并且压缩空间非常大。事实上JPG和PNG适合的场景并不同,JPG天生适合风景照片,PNG几乎就是为了“便携网络图形图像”而生。截图保存为jpg,很容易出现失真现象,在文字、渐变色和比较精细的地方,例如线条周围,常常出现斑点、不清楚,模糊。就算提高质量,jpg的体积就上去了。而且JPG不支持透明,所以的你软件图片如果有阴影效果,用JPG就太浪费了。相对的,PNG就比较适合,在保持极少失真的情况下,还能保留透明阴影,文件体积小,而且压缩空间很大。所以,截图的选择无疑是PNG更好。
例如下图,同样一张图,PNG仅9KB左右;而JPG,为了保持良好的清晰度,需要110KB左右!GIF就惨不忍睹了。
总结:JPG、PNG、GIF 到底选谁
对于一个网站来说,按照保证色彩显示良好同时文件最小的原则,我的总结是这样的:
网站的LOGO,如果色彩单调,选择PNG或者GIF,推荐前者。但是如果为了IE6的兼容,选择后者;
如果你需要动图,选择GIF;
网站上的元素背景图片(比如按钮背景、导航条背景),或者很精细的图片,还是那句话,如果色彩单调,选择PNG或者GIF,推荐前者。但是如果为了IE6的兼容,选择后者,但要考虑失真问题;少用JPG,否则会让这些东西很难看,除非你用风景图片作按钮背景;
网站内容里,你真实拍摄的图片,或者你下载的风景图片,保持JPG来获得更好的显示效果和体积;
截图都应该用PNG。当然,如果你并不追求非常完美的显示效果,只是注重内容本身而容许图片上的小瑕疵,选择JPG也可。
写在最后
不论你用哪种图片,你都应该考虑到图片的压缩性,并对图片尽可能的无损压缩。例如ImageOptim就是一个很好的压缩工具。
此外,如果你的图片非常小,你甚至可以考虑Base64。
谢谢收看。
原文:http://blog.netsh.org/posts/jpg-png-gif_1327.netsh.html
相关推荐
在C#编程中,读取图像文件是常见的任务,包括GIF、PNG、JPG和BMP等格式。这些格式都是数字图像的常见表示,每种格式都有其特定的特性和用途。以下将详细介绍如何使用C#来处理这些类型的图片,并提供关于VS2008环境下...
在Java编程环境中,将多张PNG、JPG等格式的静态图片转换为动态GIF图像是一项常见的需求。这个过程涉及到图像处理和动画制作的技术。在本文中,我们将深入探讨如何利用Java来实现这一功能,同时关注如何设置各种参数...
使用这样的工具,用户可以轻松地将个人设计的PNG、GIF、JPG或BMP图片调整为适合各种屏幕尺寸的图标,而无需逐一手动修改。 转换过程通常涉及以下步骤: 1. 选择源图像:用户需要提供要转换的PNG、GIF、JPG或BMP文件...
标题中的“jpg png gif to ico”指的是将.jpg(JPEG)、.png(Portable Network Graphics)和.gif(Graphics Interchange Format)格式的图片转换为.ico(图标文件)的过程。这种转换通常用于创建网站或应用程序的...
ASP图片批量上传是一种常见的Web应用功能,特别是在电子商务网站或者内容管理系统中,用户可能需要一次性上传多张图片。ASP(Active Server Pages)是微软推出的一种服务器端脚本环境,用于生成动态网页。在这个场景...
另外这里我们也不对GIF进行讨论,是因为PNG就是为取代GIF而生的,而且PNG的压缩算法也要优于GIF,所以只要不是需要动画效果的地方强烈建议都采用PNG格式图片。 这里我们不妨把JPG和PNG的一些特性进行一个简单对比:
"BMP转换jpg.gif.png"这个主题聚焦于三种常见的图像格式:BMP(Bitmap)、JPEG(Joint Photographic Experts Group)和PNG(Portable Network Graphics),以及它们之间的转换。 BMP是一种无损图像格式,由微软开发...
图片转换工具 jpg .jpeg .gif .png .bmp图片格式 图片格式转换器 格式PNG、JPG、GIF、BMP、tiff互相转换工具
"最好的GIF,JPG,PNG批量修改大小尺寸压缩图片的工具集共5个"这个资源提供了高效解决方案,帮助用户快速优化这些常见格式的图片,以适应不同的应用场景。 1. **GIF** 格式:GIF是一种支持动画的图像格式,广泛用于...
- 在线转换工具:如TinyPNG、Convertio等网站提供在线图片格式转换服务,包括从jpg、png、gif转换为WebP。 - 开源命令行工具:如`cwebp`(从命令行将图像转换为WebP)和`dwebp`(将WebP转换回其他格式)是Google...
QT基于C语言读图片的宽高,支持gif、bmp、jpg、png,分数最高只能这么多,有点少了
在VC++编程环境中,显示BMP、JPG、PNG和GIF等常见图像格式是常见的需求,尤其是在开发图形用户界面的应用程序时。本教程将详细讲解如何在VC++(这里特指VC++ 2010)中使用PictureControl控件来实现这些图像的显示,...
### VC 下加载 JPG/JPEG/GIF/PNG 图片最简单的方法 在Visual C++ (VC) 开发环境中处理图像时,经常会遇到需要加载各种格式图片(如 JPG、JPEG、GIF 和 PNG)的需求。本文将详细介绍如何在 VC 下简单有效地加载这些...
总之,"图像处理,JPG GIF BMP文件显示,WEB常用图像格式文件(gif,jpg,png)处理开发包dll" 提供了一套全面的工具,便于开发者处理和管理Web上常见的图像格式。通过熟练运用DLL,开发者可以高效地实现图像加载、显示...
本文将深入探讨bmp、jpg、png和gif这四种常见图像格式,以及如何实现它们之间的相互转换。 1. BMP(Bitmap)格式: BMP是一种无损的位图格式,不进行任何压缩,因此文件体积通常较大。它保存了图像的所有细节,...
VC++ 图像加载技术 在 VC++ 中,加载图片是一项基本操作,但是在加载非 BMP 格式的图片时,却...* 使用 CImage 类可以取得图片的 HBITMAP 句柄,从而可以像操作 BMP 图片一样处理 JPG、JPEG、GIF、PNG 格式的图片。
当你有一个由XAML定义的WPF UI,并希望将其保存为图像文件,如GIF、PNG或JPG,你需要执行一系列步骤来实现这个目标。这里我们将详细介绍如何完成这一过程。 首先,我们需要理解XAML到图像转换的基本原理。XAML描述...
程序可以显示并保持GIF、JPG、PNG格式的文件,附带源代码,绝对值得研究
本文将详细介绍如何将JPG、PNG、GIF、BMP、JPEG等常见图片格式转换为PDF文件。 首先,我们来了解这些图片格式的特点: 1. **JPG (Joint Photographic Experts Group)**:这是一种广泛使用的有损压缩格式,适用于...
因工作需要, 开发一个 dll, 支持全屏截图. 可以根据参数的传递保存为多种格式. dll 功能可以根据需要自行...myFunc("C:\\MyCapture", ".png"); myFunc("C:\\MyCapture1", ".gif"); myFunc("C:\\MyCapture2", ".jpg");