Find, Create and Manage SVG Element

本文介绍如何使用JavaScript操作SVG中的tspan元素,包括获取元素、设置文本内容、创建文本及tspan元素、设置点击事件及xlink:href属性等常用操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Just list some frequence usage
------------------------------
tspan:
[*] Get by type: var tspans = document.getElementsByTagName("tspan");
[*] Get text: var text= tspan.firstChild.nodeValue;
[*] Create text:
var txt=document.createElementNS('http://www.w3.org/2000/svg','text'); 
var tspan=document.createElementNS('http://www.w3.org/2000/svg','tspan');
var tnode = document.createTextNode("This is the text");
tspan.appendChild(tnode);
txt.appendChild(tspan);

[*] onclick: tspan.setAttribute("onclick", "alert(this.id)");
// TODO: this code does not work in IE.

xlink:href:
[*]Set href attr:
var bg = document.getElementById("ImageId");
var svgNS="http://www.w3.org/2000/svg";
var xlinkNS="http://www.w3.org/1999/xlink";
bg.setAttributeNS(xlinkNS,"href","I.png");
内容概要:本文档定义了一个名为 `xxx_SCustSuplier_info` 的视图,用于整合和展示客户(Customer)和供应商(Supplier)的相关信息。视图通过连接多个表来获取组织单位、客户账户、站点使用、位置、财务代码组合等数据。对于客户部分,视图选择了与账单相关的记录,并提取了账单客户ID、账单站点ID、客户名称、账户名称、站点代码、状态、付款条款等信息;对于供应商部分,视图选择了有效的供应商及其站点信息,包括供应商ID、供应商名称、供应商编号、状态、付款条款、财务代码组合等。视图还通过外连接确保即使某些字段为空也能显示相关信息。 适合人群:熟悉Oracle ERP系统,尤其是应付账款(AP)和应收账款(AR)模块的数据库管理员或开发人员;需要查询和管理客户及供应商信息的业务分析师。 使用场景及目标:① 数据库管理员可以通过此视图快速查询客户和供应商的基本信息,包括账单信息、财务代码组合等;② 开发人员可以利用此视图进行报表开发或数据迁移;③ 业务分析师可以使用此视图进行数据分析,如信用评估、付款周期分析等。 阅读建议:由于该视图涉及多个表的复杂连接,建议读者先熟悉各个表的结构和关系,特别是 `hz_parties`、`hz_cust_accounts`、`ap_suppliers` 等核心表。此外,注意视图中使用的外连接(如 `gl_code_combinations_kfv` 表的连接),这可能会影响查询结果的完整性。
SVG (Scalable Vector Graphics) 是一种基于XML的标准矢量图形语言,而 Avalonia 是一个用于创建高性能用户界面的.NET框架,特别适用于XAML应用程序。`SVGElement` 是一个表示 SVG 元素的对象,在 WPF 或者 UWP 中通常用来处理 SVG 文件。 要在 Avalonia 中将 SVG 元素转换为 `Path` 对象,你需要先解析 SVG 字符串或文件,然后将其内容转换为 Avalonia 的绘图命令。以下是一个简化的步骤: 1. **解析 SVG**: - 使用第三方库,如SharpVectors.NET 或 Svg.js,将 SVG 字符串解析为一组图形数据。 2. **提取路径信息**: - 从 SVG 数据中提取出路径元素 (`<path>` 标签),它们通常包含一系列由坐标点定义的 Bezier 曲线或其他形状描述。 3. **转换为 Avalonia Path**: - 将 SVG 的坐标系统转换为 Avalonia 的坐标系统(可能需要缩放和偏移)。 - 创建一个新的 `PathGeometry` 对象,并添加从 SVG 转换过来的 `Segment`s(直线、曲线等)。 4. **设置样式**: - 如果SVG有颜色、填充或描边信息,需要应用到 `Path` 上。 ```csharp // 示例代码 using SharpVectors; using Avalonia.Media.Geometry; var svgData = ... // 获取 SVG 字符串或解析结果 var parser = new SvgParser(); var svgElement = parser.Parse(svgData); var paths = svgElement.Select(e => e as SVGPolygonElement); // 取出所有路径 foreach (var path in paths) { var points = path.PathSegList.Points; // 解析路径点 var pathGeometry = new PathGeometryBuilder() .AddLine(points.First()) .AppendLine(points.Skip(1)) // ...继续添加曲线 .ToGeometry(); var style = ... // 设置颜色、填充等样式 var pathElement = new Path { Data = pathGeometry.Data, Stroke = style.Stroke, Fill = style.Fill }; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值