zoukankan      html  css  js  c++  java
  • 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 针对这种用途。

  • 相关阅读:
    同一域环境下SQLServer DB Failover故障转移配置详解
    WebAPI项目中使用SwaggerUI
    Failed to initialize the Common Language Runtime
    WCF Throttling 限流的三道闸口
    Entity Framework 乐观并发控制
    MVC3不能正确识别JSON中的Enum枚举值
    编写高质量代码改善C#程序的157个建议读书笔记【11-20】
    如果下次做模板,我就使用Nvelocity
    对于react中的this.setState的理解
    对于react中rredux的理解
  • 原文地址:https://www.cnblogs.com/micemik/p/13943956.html
Copyright © 2011-2022 走看看