• svg究竟是什么?


    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 针对这种用途。

  • 相关阅读:
    mysql数据库(1)
    通过全局异常处理机制实现接口参数校验返回指定返回类型
    http接口安全校验
    java 锁机制介绍
    通过反射获取类的所有属性值拼接成字符串工具类
    Mybatis中出现java.sql.SQLException: 无效的列类型: 1111
    判断两个Long相等
    jwt工具类
    mybatis #{}和${}的区别是什么
    报错解决NoSuchMethod。。。
  • 原文地址:https://www.cnblogs.com/micemik/p/13943956.html
Copyright © 2020-2023  润新知