假设我们写了一首新的乐曲,要把它交给唱片公司,可以通过两种方式:

  1. 把这首乐曲弹奏出来并录制在磁带上。
  2. 把这首乐曲的乐谱写下来。

这两种方式的最大区别在于记录的形式。

前者是记述性的。包含乐曲的音频信息。其中的所有信息都是固定的,如演奏速度、乐器音色等。如果你想把笛子换成排箫,那就要重新录制一遍。
后者是描述性的,不包含音频信息,只包含对乐曲音律的描述。如果要改变演奏速度或乐器音色,只要在乐谱中修改一下就好。

点阵图像就属于记述性,以点为记录的对象。而矢量图像属于描述性,以线段和计算公式作为记录的对象。

比如下图中的直线,

如果以点阵方式来记录,就是从左上角第一个点开始,到右下角最后一个点结束,记录所有像素的颜色。 记录这幅图像(200×50像素)就需要1万个信息。即使这条直线本身并没有那么多像素,但点阵方式也是完整的把整幅图的像素记录下来。 因此不管是一条直线还是两条三条,对于点阵图像来说都是一样的。都是去逐个记录图像中的所有像素。

如果用矢量来记录这条直线,只需要三个信息:直线起点坐标、直线终点坐标、直线的颜色。 在还原的时候就利用这三个信息去生成图像,就如同乐队把乐谱演奏出来一样。

由于矢量的这种特点,使得它非常便于修改。 比如要把下图的直线旋转一下,点阵方式就需要重新记录所有改动过的像素信息。而矢量图只需要改动起点和终点的坐标就好了。 当放大图像的时候,点阵图像会产生模糊和锯齿。就如同录音带播放时候加速产生的变调。对图像质量是有损失的。 而矢量图像是根据放大后的坐标重新生成图像,不会产生模糊和锯齿。就如同乐队根据新乐谱重新演奏。对图像质量是没有损失的。

在Photoshop中打开会看到同样的两个人物剪影图像,左边的是矢量格式,右边的是点阵格式。此时看起来没有区别。如下图。

原图片大小是400×300,现在使用【图像 图像大小】将宽度改为100像素,高度自动计算为75像素。得到如同下图这样的效果。 这时两者看起来还是差不多的。

再使用【图像 图像大小】改为和原先一样的400×300像素。会看到如同下右图的效果。 现在区别就明显了。右边的点阵格式在经过上面两步的操作后变得模糊。而左边的矢量格式却仍然保持着和原先相同的清晰度。没有一点损失。

大家也可以先把图像缩得更小些,这样放大以后效果对比将更明显。下图是先缩小到20×15后再放大的效果,下面的图已经是“一塌糊图”了。

为什么在第一次缩小之后没有看出区别呢?
这是因为缩小点阵图像是不会产生模糊的,在丢弃原先的一些像素后,剩下的像素是足够描述图像的,并没有产生像素空缺。而放大后才产生了像素空缺。
为什么矢量图像“饱经风霜”却依旧“面不改色”呢?这就是因为前面说过的矢量图像的特点:通过记忆线段的坐标来记录图像。 图像放大缩小的同时坐标也放大缩小,而各个坐标之间的相对位置并没有改变。然后根据改动后的坐标重新生成图像。因此无论放大多少都不会失真。

ps:矢量格式图像的更多相关文章

  1. ps:点阵格式图像

    我们所看到的图像,究竟是如何构成的呢?这就需要涉及到图像类型的概念. 电脑中的图像类型分为两大类,一类称为点阵图,一类称为矢量图. 点阵图顾名思义就是由点构成的,如同用马赛克去拼贴图案一样,每个马赛克 ...

  2. PS中的图像知识

    图像处理对于前端工作来说是一个不能回避的问题,ps技术也是我们必备的技能.用法可以在使用中不断的熟练,但针对前端技术本身的一些知识点,需要我们平时不断的积累才能够在使用中不出现问题. 如今的办公,已经 ...

  3. 在VC下显示JPEG、GIF格式图像的一种简便方法

    在VC下显示JPEG.GIF格式图像的一种简便方法 一. 引言  JPEG图像压缩标准随然是一种有损图像压缩标准,但由于人眼视觉的不敏感,经压缩后的画质基本没有发生变化,很快便以较高的压缩率得到了广泛 ...

  4. bmp格式图像的读写函数(对一个开源代码的封装)

    在网上看到一段读写bmp格式图像的代码,本文对这段代码分成两个函数封装起来方便使用,一个函数是读取bmp格式的图像,一个是向指定文件写入bmp格式的图像. 前提 我们不需要知道这段代码是如何读取bmp ...

  5. PS 流格式解析(转)

    对于PS流,最近因为工作需要,所以MPEG2中的PS流格式和解包过程进行了学习. 首先我们需要知道PS包流格式是怎么样的: 针对H264 做如下PS 封装:每个IDR NALU 前一般都会包含SPS. ...

  6. 见微知著,细节上雕花:SVG生成矢量格式网站图标(Favicon)探究

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_215 Favicon是favorites icon的缩写,也被称为website icon(站点图标).page icon(页面图 ...

  7. AI vs PS 矢量 VS 位图

    矢量图 AI最大可以放大64000%.不会失真,依然很清晰.原理是不同的点以及点与点之间的路径构成的,不论放大的多大,点在路径在,就可以精确的计算出它的区域.AI中无法直接编辑位图. 位图 代表PS, ...

  8. GDI+ 中发生一般性错误(在 OutputStream 中保存 PNG 格式图像时遇到的问题)

    在将图片以 PNG 格式保存至 Response.OutputStream 时,会碰到如下错误: GDI+ 中发生一般性错误. 原因: 在写 PNG 格式的图像时,指针需要在存储的位置来回移动.而 R ...

  9. GDAL不支持创建PCIDSK的面状矢量格式

    最近在使用GDAL创建PCIDSK格式的矢量数据,发现创建点和线的矢量数据都没问题,创建面状的只有属性表没有图形.在GDAL官网说明也写的是支持的,地址为:http://www.gdal.org/fr ...

随机推荐

  1. es之IK分词器

    1:默认的分析器-- standard 使用默认的分词器 curl -XGET 'http://hadoop01:9200/_analyze?pretty&analyzer=standard' ...

  2. [CSP-S模拟测试]:毛三琛(随机化+二分答案)

    题目传送门(内部题69) 输入格式 第一行正整数$n,P,k$.第二行$n$个自然数$a_i$.$(0\leqslant a_i<P)$. 输出格式 仅一个数表示最重的背包的质量. 样例 样例输 ...

  3. ES6 模板语法和分隔符

    let user = 'Barret'; console.log(`Hi ${user}!`); // Hi Barret!

  4. npm构建vue项目

    环境搭建 我们需要先从node.js官网安装node,安装过程很简单,一路“下一步”就可以了(傻瓜式安装). 安装完成之后,打开命令行工具(Mac打开终端),输入 node -v,如图,如果出现相应的 ...

  5. GUI_FlowLayout

    void setBounds(x, y, width, height) 设置窗体坐标,窗体大小 import java.awt.Frame; public class IntegerDemo { pu ...

  6. rac节点挂掉后,vip飘到别的节点,但是业务连接不上报 no listener问题处理

    客户一套rac系统,三节点,其中一个节点的p260主机主板有问题(经常机器重启,好像是这个型号的通病,主板被炒到20W),临时把故障节点的vip作为业务地址用. 首先,查看确定故障节点vip飘到那个节 ...

  7. SSM003/构建Maven单模块项目(二)

    一.Controller基础代码(mooc) 1.UserController.java /** *springmvc1-2:返回jsp页面 * 请求URL: /user/getUserById?us ...

  8. SpringBoot使用RestTemplate 摘要认证

    SpringBoot使用RestTempate SpringBoot使用RestTemplate摘要认证 SpringBoot使用RestTemplate基础认证 SpringBoot使用RestTe ...

  9. 转 jvisualvm 工具使用 https://www.cnblogs.com/kongzhongqijing/articles/3625340.html

    VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带(java启动时不需要特定参数,监控工具在bin/jvisualvm.exe). https:// ...

  10. mysql树查询、递归查询

    关键词:mysql树查询,mysql递归查询 转自:http://www.cnblogs.com/c-h-y/p/9420726.html 之前一直用的是Oracle,对于树形查询可以使用start ...