http://ued.taobao.com/blog/2010/12/10/%e5%9b%be%e7%89%87%e6%a0%bc%e5%bc%8f%e4%b8%8e%e8%ae%be%e8%ae%a1%e9%82%a3%e7%82%b9%e4%ba%8b%e5%84%bf/#more-3196

要点摘录:

1 矢量图与位图
矢量图-完美的几何图形
矢量图是通过组成图形的一些基本元素,如点、线、面,边框,填充色等信息通过计算的方式来显示图形的。就好比我们在几何学里面描述一个圆可以通过它的圆心位置和半径来描述,当然还可以通过边框的粗细、颜色以及填充的颜色等数据去描述它的样式。而电脑在显示的时候则通过这些数据去绘制出我们定义的图像。

矢量图的优点在于文件相对较小,并且放大缩小不会失真。缺点则是这些完美的几何图形很难表现自然度高的写实图像。

需要强调说明的是我们在web页面上所使用的图像都是位图,即便有些称为矢量图形(如矢量icon等)也是指通过矢量工具进行绘制然后再转成位图格式在web上使用的(区别于像素绘制的图形)。

位图-神奇的拼图
位图又叫像素图或栅格图,它是通过记录图像中每一个点的颜色、深度、透明度等信息来存储和显示图像。一张位图就好比一幅大的拼图,只不过每个拼块都是一个纯色的像素点,当我们把这些不同颜色的像素点按照一定规律排列在一起的时候,就形成了我们所看到的图像。所以当我们放大一幅像素图时,能看到这些拼片一样的像素点(如下图)。

位图的优点是利于显示色彩层次丰富的写实图像。缺点则是文件大小较大,放大和缩小图像会失真。

2 有损压缩与无损压缩
有损压缩-你看到的不一定是真实的
按照我的理解有损压缩就是在存储图像的时候并不完全真实的记录图像上每个像素点的数据信息,它会根据人眼观察现实世界的特性(人眼对光线的敏感度比对颜色的敏感度要高,生物实验证明当颜色缺失时人脑会利用与附近最接近的颜色来自动填补缺失的颜色)对图像数据进行处理,去掉那些图像上会被人眼忽略的细节,然后使用附近的颜色通过渐变或其他形式进行填充。这样既能大大降低图像信息的数据量,又不会影响图像的还原效果。

JPG是我们最常见的采用有损压缩对图像信息进行处理的图片格式。JPG在存储图像时会把图像分解成8*8像素的栅格(如上图),然后对每个栅格的数据进行压缩处理,当我们放大一幅图像的时候,就会发现这些8*8像素栅格中很多细节信息被去除,而通过一些特殊算法用附近的颜色进行填充(为了让大家看得更清楚我将图像的压缩比率调到很低)。这也是为什么我们用JPG存储图像有时会产生块状模糊的原因。

无损压缩-最精确的拼图
相对有损压缩而言无损压缩则会真实的记录图像上每个像素点的数据信息,但为了压缩图像文件的大小会采取一些特殊的算法。无损压缩的压缩原理是先判断图像上哪些区域的颜色是相同的,哪些是不同的,然后把这些相同的数据信息进行压缩记录,(例如一片蓝色的天空之需要记录起点和终点的位置就可以了),而把不同的数据另外保存(例如天空上的白云和渐变等数据)。

PNG是我们最常见的一种采用无损压缩的图片格式。无损压缩在存储图像前会先判断图像上哪些地方是相同的哪些地方是不同的,为此需要对图像上所有出现的颜色进行索引(如上图),我们把称这些颜色称为索引色。索引色就好比绘制这幅图像的“调色版”,PNG在显示图像的时候则会用“调色版”上的这些颜色去填充相应的位置。

这里大家可能会疑惑既然PNG采用的是无损压缩为什么我们保存的PNG格式图片还会有失真呢?这是因为无损压缩只是说它的压缩方式会尽可能真实的还原图像,但从它的压缩原理我们可以知道它是通过索引图像上相同区域的颜色进行压缩和还原的,这就意味着只有在图像上出现的颜色数量小于我们可以保存的颜色数量时,我们才能真实的记录和还原图像,否则就会丢失一些图像信息(PNG8最多只能索引256种颜色,所以对于颜色较多的图像不能真实还原;PNG24则可以保存1600多万种颜色,基本能够真实还原我们人类肉眼所可以分别的所有颜色;PNG格式最多可以保存48位颜色通道)。而对于有损压缩来说,不管图像上的颜色多少,都会损失图像信息。

JPG和PNG
关于JPG和PNG的基本信息介绍这里就不赘述了,有兴趣详细了解的同学可以去这里:
什么是JPG、什么是PNG。另外这里我们也不对GIF进行讨论,是因为PNG就是为取代GIF而生的,而且PNG的压缩算法也要优于GIF,所以只要不是需要动画效果的地方强烈建议都采用PNG格式图片。

这里我们不妨把JPG和PNG的一些特性进行一个简单对比:

格式 压缩模式 交错支持 透明支持 动画支持
JPG 有损压缩 支持 不支持 不支持
PNG 无损压缩 支持 支持 不支持

JPG的特性
1、支持摄影图像或写实图像的高级压缩,并且可利用压缩比例控制图像文件大小。
2、有损压缩会使图像数据质量下降,并且在编辑和重新保存JPG格式图像时,这种下降损失会累积。
3、JPG不适用于所含颜色很少、具有大块颜色相近的区域或亮度差异十分明显的较简单的图片。
PNG的特性
1、能在保证最不失真的情况下尽可能压缩图像文件的大小。
2、PNG用来存储灰度图像时,灰度图像的深度可多到16位,存储彩色图像时,彩色图像的深度可多到48位,并且还可存储多到16位的α通道数据。
3、对于需要高保真的较复杂的图像,PNG虽然能无损压缩,但图片文件较大,不适合应用在Web页面上。
PNG8与PNG24
提到PNG格式就不得不提到PNG8和PNG24,这种叫法并非官方定义,不过由于普遍使用已经被大家广泛接受了。通过前面的介绍我们知道PNG采用无损压缩是通过索引色去存储和还原图像的,PNG8和PNG24后面的数字则是代表这种PNG格式最多可以索引和存储的颜色值。”8″代表2的8次方也就是256色,而24则代表2的24次方大概有1600多万色。

不仅如此,PNG8还支持1位的布尔透明通道,所谓布尔透明指的是要么完全透明要么完全不透明。而PNG24则支持8位(256阶)的alpha通道透明,也就是说可以存储从完全透明到完全不透明一共256个层级的透明度(即所谓的半透明)。

格式 最高支持色彩通道 索引色编辑支持 透明支持
PNG8 256色 支持 支持布尔透明
PNG24 约1600万色 不支持 支持8位(256阶)alpha透明

可能通过以上特性的对比大家还不能很直观的理解在实际应用中到底因该选择什么格式的图片文件,我们不妨结合上面的基本概念通过几个例子去给大家说明
由此我们可以得出结论,具备以下条件的图像更适合用PNG8格式进行存储:

1、图像上颜色较少,并且主要以纯色或者平滑的渐变色进行填充。
2、具备较大亮度差异以及强烈对比的简单图像(如“立刻购买”按钮中的背景和文字)。
根据经验具备上述条件的图像一般是使用photoshop或其他软件中的矢量工具进行绘制然后再保存成位图的图像。

总结
由此可见在存储图像时采用JPG还是PNG主要依据图像上的色彩层次和颜色数量进行选择。一般层次丰富颜色较多的图像采用JPG存储,而颜色简单对比强烈的则需要采用PNG。但也会有一些特殊情况,例如有些图片尽管色彩层次丰富,但由于图像尺寸较小,上面包含的颜色数量有限时,也可以尝试用PNG进行存储。而有些矢量工具绘制的图像由于采用较多的滤镜特效也会形成丰富的色彩层次,这个时候就需要采用JPG进行存储了。

另外还有一个原则就是用于页面结构的基本视觉元素,如容器的背景、按钮、导航的背景等应该尽量用PNG格式进行存储,这样才能更好的保证设计的品质。而其他一些内容元素,如广告Banner、商品图片等对质量要求不是特别苛刻的,则可以用JPG去进行存储从而降低文件大小。

(转)图片格式与设计那点事儿相关推荐

  1. 图片格式与设计那些事

    转载自:http://ued.taobao.org/blog/2010/12/jpg_png/#comments 第一次写技术博客,有不尽如人意的地方,还请见谅和指正. 为什么想整理这方面的类容,我觉 ...

  2. html多选框放在图片上,网页中图片格式问题地总结.doc

    网页中图片格式问题地总结 HYPERLINK "file:///C:\\Users\\Administrator\\Desktop\\图片格式与设计那点事儿%20-%20TaobaoUED_ ...

  3. 前端笔记(6)css布局机制,浮动,清除浮动,图片格式,ps切片工具及插件

    css样式表/层叠样式表(4) css布局的三种机制 浮动 浮动(float)的扩展 清除浮动 额外标签法(隔墙法) 父级添加overflow属性方法 使用after伪元素清除浮动 使用双伪元素清除浮 ...

  4. Winform中实现图片格式转换(附代码下载)

    场景 选择一张照片并选择保存位置和要转换的图片格式实现图片格式转换. 项目运行效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸 ...

  5. 同等质量下那种图片格式小_八个PPT图片处理必会的神技巧,帮你轻松做出高质量PPT...

    想要制作出堪比大厂出品的PPT,首先我们要从图片做起,分享八个常用的也比较实用的PPT图片处理技巧,让你的PPT瞬间高大上起来. 一::设置透明图片 1:打开PPT,在幻灯片中插入图片,同时将图片进行 ...

  6. [css] 描述下你所了解的图片格式及使用场景

    [css] 描述下你所了解的图片格式及使用场景 通常网页在显示的图片(图形)的时候,有以下几种格式:GIF.PNG.JPG.SVG,还有个比较新的WebP格式.▍GIF优点:GIF是动态的:支持无损耗 ...

  7. DirectX - dds图片格式(DDSURFACEDESC2)

    DDS是DirectDraw Surface的缩写,它是DirectX纹理压缩(DirectX Texture Compression,简称DXTC)的产物.  DXTC减少了纹理内存消耗的50%甚至 ...

  8. WEB开发中合理选择图片格式

    从某种程度上说,判断一个网页设计师是否优秀,可以从其在WEB开发(或网页设计)中是否合理的采用各种图片格式得出结论.事实上,或许所有人都知道图片存在GIF,JPG和PNG等格式,但并非所有人都知道它们 ...

  9. 常见图片格式:PNG,JPG/JPEG,BMP

    PNG - Portable Network Graphics - 便携式网络图形 百度百科:https://baike.baidu.com/item/png/174154?fr=aladdin 便携 ...

最新文章

  1. 【杂项】SVN服务器的本地搭建和使用
  2. 我的第一个VUE示例
  3. 6、SpringBoot+Mybatis整合------参数传递
  4. 单臂路由与三层交换机实现VLAN通信
  5. android 的命令行工具(dos命令)
  6. kafka-manager 安装
  7. response 中OutputStream和PrintWriter区别
  8. 只读域控制器在Server Core中的部署
  9. linux 巡检手册,服务器设备系统巡检标准手册.doc
  10. NUnit.Framework在VS2015中如何进行单元测试
  11. weak和assign的区别
  12. 老司机 iOS 周报 #42 | 2018-11-05
  13. 如何保证API接口数据安全?
  14. Word新建自己的样式
  15. java jdk 安装教程_JDK下载安装配置教程(详细)
  16. DNF NPK包名对照一览表
  17. qpsk调制matlab仿真,QPSK调制解调仿真
  18. Python+PyCharm+PyTorch+Cuda/GPU 安装步骤
  19. 2015.7.14(大盘结束红色,中色连坐4T)
  20. 三级指标 主成分分析_主成分分析法(PCA)

热门文章

  1. Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5
  2. 平台运营团队的UI/UX设计师的技能要求
  3. 免费的仿真软件LTSpice
  4. Python替换图片上一些颜色
  5. Gromacs通过伞状抽样的方法计算自由能
  6. (附源码)计算机毕业设计SSM旅游资源管理系统
  7. mysql设置中奖率_设置中奖概率
  8. 串联和并联电阻办法的阻抗匹配方法解析
  9. 多角度模拟一问一答,让你的推广内容更具真实性
  10. 关于直流永磁电机磁性能,硅钢铁损磁感测量方案