svg究竟是什么?

1 要点

要点1:svg与jpg/png等格式的用途完全不同,不可相提并论,没有可比性,不可互相替代。

要点2:日常生活中,我们用相机拍摄自然景象得到的照片和视频,能且只能用jpg/png/mp4等格式存储,不可用svg格式存储。在自然景象中,像素之间没有确定的数学函数关系。我们称自然景象为图像,只能用像素点描述,无法用数学函数描述。

要点3:svg用于人为设计(特别强调人为设计,而非自然存在的)的点、线、面构成的图形,这些图形可用数学函数来表达。svg无法描述和表达自然界的景象。

概念

特点

生成者

描述方法

文件格式

图像

像素点之间无确定的数学函数关系

自然

逐个像素

jpg/png/mp4等

图形

点与点之间有确定的数学函数关系

人为

数学函数

svg

2 svg举例说明

假设要设计一个线条非常优美的图标,由椭圆、双曲线和抛物线构成。

假设这个图标非常巨大,由一万亿个点构成。

我们可以用以下要素描述这个图标:

S1:椭圆方程:长轴长度,短轴长度,x的范围,线条颜色。

S2:双曲函数或方程:x的范围,线条颜色

S3:抛物线函数或方程:x的范围,线条颜色

描述以上要素大约需要256字节,有了这256字节,软件会根据x的范围逐点绘制每条曲线,最终绘制出由一万亿个点构成的美丽图标!

设想一下,这个图标若用jpg/png去绘制,将耗费多少数据量。

结论

结论1:svg仅适用于人为设计的图形,这些图形可以用数学函数来表达,这些数学函数可以用很少的数据来表达。最终达到的目的:用很少的数据表达很复杂、很优美的图形。

结论2:自然景象(图像)中的点与点之间无关联关系,无法用数学函数表达,只能用像素点表达,jpg/png/mp4适用于表达自然景象(图像)。

另外,一定要辨别清楚图形和图像这两个概念。

图形是人为设计的,可用数学函数来表达,svg针对这种用途。

图像是自然存在的,无法用数学函数来表达,jpg/png/mp4针对这种用途。

最新文章

  1. 【leetcode】Find Minimum in Rotated Sorted Array I&&II
  2. AC日记——数1的个数 openjudge 1.5 40
  3. linux系统判断是否重启、关机、查询登录诊断分析简介
  4. Supervisor 安装与配置
  5. .net 添加不同项目框架引用出现的问题
  6. openfire文件夹
  7. MyEclipse开发的java web项目在 Eclipse中无法识别
  8. 【SqlServer数据类型、C#数据类型、SqlDbType】对应关系及转换
  9. Swift - 使用HTML5进行iOS开发(将HTML5打包成iOS应用)
  10. HDU 5806 NanoApe Loves Sequence Ⅱ
  11. Android 中log 找到关键log
  12. Visual Studio Code初识与自动化构建工具安装
  13. 在Gazebo中使用DEM構建起伏地形環境
  14. log4j2.xml全配置文件
  15. [C++]数组指针,数组引用,函数指针
  16. VSCode插件开发全攻略(十)打包、发布、升级
  17. 无法将从VSS中的解决方案添加到TFS的源代码管理器中
  18. EF code first出现错误:列名 Discriminator 无效
  19. 二十一、Linux 进程与信号---进程查看和进程状态、进程调度和进程状态变化、进程标识
  20. vue mand-mobile ui加class不起作用的问题 css权重问题

热门文章

  1. 刷LeetCode的简易姿势
  2. Linux就该这么学28期——Day02 2.1-2.3
  3. 从零开始学python之Python安装和环境配置
  4. ConcurrentHashMap原理分析(一)-综述
  5. JVM 第五篇:命令行 JVM 故障处理工具
  6. github 如何解决error: failed to push some refs
  7. 赋予楼宇“智慧大脑”:厦门双子塔3D可视化
  8. jquery 添加html标签
  9. PHP程序员必须会的 45 个PHP 面试题
  10. Nacos配置中心使用