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

  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. 使用visual studio配置和运行《opengl圣经》的第一个案例

    对vc++新手来说,想把opengl圣经里的教学案例运行起来还真不是一件容易的事情,而且并没有完整的操作流程教学,这里就总结一下吧: 先安装cmake,用于生成vs的工程文件,安装过程中选中“将目录添 ...

  2. D2. Remove the Substring (hard version)

    D2. Remove the Substring (hard version) 给字符串s,t,保证t为s的子序列,求s删掉最长多长的子串,满足t仍为s的子序列 记录t中每个字母在s中出现的最右的位置 ...

  3. 微信小程序image组件

    image组件:是小程序专门针对图片的组件,功能强大 image组件的属性: src:类型 字符串 图片资源的路径 mode:类型 字符串 图片裁剪缩放模式 lazy-load:类型 布尔 图片的懒加 ...

  4. React-Native 之 GD (十八)监听 TabBarItem 点击与传值实现 点击 Item 进行刷新功能

    监听 TabBarItem 点击与传值实现 点击 Item 进行刷新功能 原版 APP 中当我们点击 首页和海淘 2个 Item 时,会马上获取最新数据个数然后进行更新,这边来实现一下这个功能. 1. ...

  5. 《图解 CSS3 核心技术与案例实战》

    第一章 解开 CSS3 的面纱 使用 CSS3 的好处 减少开发和维护成本:如传统实现圆角边框需要绘图.切图才能完成,而使用 css 可以直接完成 提高页面性能 渐进增强(Progressive En ...

  6. ES与CQRS之旅

    引言 领域驱动设计(Domain Driven Design),使用统一的建模语言.专注业务领域分析.采取化整为零并反复迭代的方式,以业务领域模型为圆心,向外辐射到系统轮廓的勾勒.具体模块的实现,为我 ...

  7. sqlalchemy批量添加数据-数据源是json(小算法)

    需求: 想要写1个增加case的接口 问题: sqlalchemy添加case的方式,只能是1条数据1条数据的插入,像这样: ro2 = Role(name='user') db.session.ad ...

  8. log4j配置参数详解——按日志文件大小、日期切分日志文件

    项目中尽管对log4j有基本的配置,例如按天生成日志文件以作区分,但如果系统日志文件过大,则就需要考虑以更小的单位切分或者其他切分方式.下面就总结一下log4j常用的配置参数以及切分日志的不同方式. ...

  9. 【ABAP系列】SAP ABAP ALV设置背景图片

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP abap ALV设置背景图片 ...

  10. mysql使用触发器生成唯一订单号,

    需求:订单号唯一,并且期望是时间格式加其他字符串, 实现:采用触发机制,在新增时根据新增id值加1作为订单生成的随机且确定唯一的数,因为id唯一: 遇到问题:新增时不能提前知道id值, 解决:取到当前 ...