【SDU Chart Team - Core】画布层次结构

本文详细介绍了SVG画布的层次结构,包括最外层的SVG元素、预定义域、组件图形域和前端域。预定义域用于存储预渲染内容如箭头、渐变和滤镜;组件图形域按列表顺序绘制组件,决定绘制层级;前端域则包含UI装饰性内容。此外,还阐述了绘制层级的顺序规则,帮助理解SVG图形的组织和渲染过程。
摘要由CSDN通过智能技术生成

画布层次结构

画布的层次结构主要需要基于SVG的层次结构,但相比纯树形结构,做出了一些简化。

二级层次结构

画布二级层次

画布

最外层的<svg>表示画布,元素的坐标系也就是画布坐标系;关于画布的扩展、视角的移动缩放也都基于这个元素。

为了方便管理,引入一系列组元素作为其第二级的结构,这些结构被称为,拥有明确的分工。

预定义域

定义了一些需要预渲染的内容,其中的内容参与到部分组件的绘制,,是一个组元素<defs>。这些内容包括任何SVG元素,主要有表现箭头的<marker>、表现渐变的<linearGradient>和<radialGradient>、滤镜<filter>等。

这些预定义元素内部的树形结构任意,但在预定域内是并列的集合关系。

组件图形域

实际绘制组件的区域,是一个组元素<g>。里面的组件在组件图形域内是列表关系。列表的排列顺序决定了组件的绘制层级:绘制靠前的组件被组织在尾部,绘制靠后的组件被组织在头部。

组件最外层是<g>,这个元素用于处理旋转。<g>的内部是各种图形元素,可以呈现图形,用于处理形状和位置。这些图形元素可以是树形结构的。

前端域

前端独立管理的区域,是多个组元素<g>,每个都有各自的作用。其中的内容为UI相关装饰性内容,如轮廓、关键点的显示、锚点的显示等等。后端只提供初始化,并保证不参与对这些区域的管理。

绘制层级

上述层次结构中各部分的顺序体现了它们在绘制中的层级关系。
绘制层级
顺序靠前的处于绘制层级的底层。其中组件图形域还可以细分:组件列表的排列顺序决定了组件的绘制层级。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值