>如何使用 JavaScript 绘制可缩放矢量图形 (SVG)

已发表: 2023-02-25

假设您想详细了解如何使用 JavaScript 绘制可缩放矢量图形或 SVG,这里有一种方法可以做到。 SVG 是一种基于 XML 的矢量图像格式,用于支持交互性和动画的二维图形。 SVG 规范是万维网联盟 (W3C) 自 1999 年以来开发的开放标准。使用 JavaScript,您可以使用文档对象模型 (DOM) 访问和操作 SVG 文档的元素。 例如,您可以添加或删除元素、更改它们的属性或为它们设置动画。 下面是一个基本示例,说明如何使用一个圆形元素创建 SVG 文档并将其添加到 DOM。 首先,创建一个带有元素的 HTML 文档并设置其宽度和高度属性。 接下来,创建一个元素并设置其 cx 和 cy 属性以定义圆心的 x 和 y 坐标。 然后,设置 r 属性来定义圆的半径。 最后,将元素添加到元素中。 用于存储图像和数据的 .svg 文件格式允许更动态的缩放。 XML 标记用于描述这些是如何绘制和对齐的,而不是简单地描述路径是如何绘制的。 当您将标记呈现到 HTML 文件中时,它将与图标完全一样。 如果要在呈现数据时将 SVG 图标动态添加到来自远程位置的数据,可以使用此方法。 可以创建和组合 XML 标签,就像 HTML 元素一样。 可以使用 XPath 函数创建 XML 文件的 main.js 文件。 我们将在图形创建后放置锚标记,允许滚动功能运行。因此,之后任何元素都可以像处理任何其他元素一样处理。 添加样式、类和(最重要的)属性有多种选择。 这些图标预先添加到每个帖子中,可以用作锚链接以平滑滚动。SVG 平台具有更多的可访问性。 您必须安装脚本才能使用 SVG 在屏幕上绘制元素。 现在不是检查您的测验是否已完成的时候。 您可以在参加测验之前通读页面轻松解决它们。我们可以在 Svg 中使用 Javascript 吗?图片来源:https://iconscout.com 可以从开始和结束 svg> 标签之间的任何位置将 JavaScript 添加到 SVG 文档中。 脚本应放在文档的末尾,以便可以在避免阻塞的情况下完全访问它。可以使用文档对象模型 (DOM) 以与 HTML 相同的方式查看 SVG。 因此,可以使用 Javascript 很容易地操作它们。 在本课程中,我将介绍如何使用内联和外部 SVG。 代码示例可在位于本文顶部的 GitHub 上找到。 如果您使用外部 SVG,则插入元素时无需使用相同的代码。 因为 SVG 不能访问页面中嵌入的 HTML 文档,所以我们可以用它来替换它上面的其他 SVG。 当你用 CDATA 包装 JS 代码时,XML 将其作为 XML 的一部分进行解析。在 HTML 中创建和删除元素是相同的。 相关文档的 createElementNS() 方法必须传递元素名称和 SVG 命名空间,以便您创建元素。 如果要删除一个元素,必须先使用 createTextNode() 创建一个单独的文本节点,然后将其附加到文本元素。 它们不存在于同一个文档中,因此可以很好地工作。Svg 的优点和缺点由于它们基于矢量的 XML 格式格式,SVG 不会降低分辨率或不依赖于分辨率,这使得它们易于调整大小。 CSS 和/或 JavaScript 可用于轻松操作和动画 SVG。 因为 SVG 比 JPG、JPEG、PNG 和其他格式使用更少的内存和加载时间更少,所以它是响应式设计的理想选择。 SVG 除了是一种通用的文件格式外,还支持动画和透明度。 使用这种格式只有一个问题:它不像 PNG 等其他标准格式那样广泛使用,因此上传到您的网站并正确显示并不总是那么简单,而且它并不总是与旧浏览器兼容和设备。Svg 是否依赖于 Javascript?由于其原始性质,它具有极强的响应能力,但它缺乏文本渲染功能,并且与元素的任何交互都依赖于 JavaScript。 基于矢量的图像可以在不引起模糊的情况下调整大小(尽管它确实需要压缩)。 每个绘制的形状都由 SVG 中的一个对象组成。Html To Svg Javascript 使用 JavaScript,可以将 HTML 转换为 SVG。 这可以通过使用诸如 canvg 之类的库来完成。 使用 canvg,可以从 HTML 页面中解析和呈现 SVG 文档。 这允许将矢量图形与其他网络技术集成。我们将介绍如何在本教程的页面上显示标量矢量图形 (SVG)。 HTML 页面可以具有 XML 方言,它以 HTML 图像或 XML 声明的形式显示信息。 在本文中,我们将比较和对比用于插入和修改 HTML 元素的 JavaScript 语法与用于插入和修改 HTML 元素的 SVG 语法。 在开发我们的方法之前,我们将查看示例用例。 一个简单的元素,例如 >div,应该能够添加到 SVG 中。 createSVG 方法在以下示例中使用了两次。 我们可以使用 JavaScript 和 CSS 以细粒度的方式使用 HTML 和 CSS 控制 SVG。我们使用的 document.createElementNS 方法由两个参数组成:document.createElementNS 和 document.createElementNS。 用于指示要传入的对象的一个​​变量是 o。 因此,为了找到大写字母并将其替换为破折号 (-) 后跟一个小写字母,我们使用正则表达式 /[AZ]/g,它使用驼峰式对象和破折号语法来查找大写字母并替换它们带破折号 (-)。 返回元素后,我们所要做的就是将其作为附加元素返回。Javascript 中的 Svg:您需要了解的知识如何在 JavaScript 中使用 SVG? 因为图像的每个组件都可以用 CSS 设置样式或用 JavaScript 编写脚本,所以它们是一个很棒的样式/脚本工具。 您如何在 HTML 中编写 svg 代码? 可以使用 svg>/svg> 标签将图像直接写入 HTML 文档。 如果您打算在 HTML 文档中使用 SVG 图像,则需要执行以下步骤:在 VS 代码或首选 IDE 中打开图像,复制代码并将其粘贴到 body 元素中。 为什么 HTML sva 仍在使用? 这花了一些时间,但 Silverlight 现在已在所有主要浏览器和设备中得到广泛支持。 除了超小、可搜索、可修改和可修改之外,SVG 文件还超小、可搜索、可修改(通过代码)和可扩展。 这些多功能设备可用于任何尺寸,并与 HTML 兼容(创建网站但不想编写代码),只需单击图像或内嵌即可。 您可以获得免费的汽车入门套件。 像 SVG 这样的 XML 应用程序可以使用 XML 1.0 以及 XML 命名空间。 当 SVG 内容包含在 HTML 文档中时,HTML 语法可能适用但可能与 XML 不兼容。Svg Javascript 示例有许多将 JavaScript 与 SVG 结合使用的示例。 例如,您可以使用 JavaScript 动态更新 SVG 元素的位置、大小或其他属性。 您还可以使用 JavaScript 为 SVG 元素设置动画。可以使用称为可缩放矢量图形的技术拉伸矢量图形。 可扩展标记语言 (XML) 是一种基于矢量的图形所特有的图像格式。 SVG 图像可以在 CSS 和 HTML 中以多种方式使用。 我们将在本教程中学习六种不同的技术。 在本课中,我们将向您展示如何使用 sva 作为 CSS 背景。 在这种情况下,必须使用与 HTML 文档相同的语法加载 .htaccess 文件。 但是,在这种情况下,我们使用 CSS 代替 HTML 来执行更多自定义操作。您还可以使用 HTML HTML 元素向网站添加图像。 可以在所有支持可缩放矢量图形 (SVG) 的浏览器中使用 >object> 选项。 在 HTML 和 CSS 中,语法 <embedsrc=happy.svg” /> 中的 HTML 元素可用于包含图像。 大多数现代浏览器不再支持>浏览器插件,所以依赖>embed[/gt; 通常不是一个好主意。将图像转换为 Svg 以获得更好质量的 Web 图形浏览器。 Canvas.js 以前在 Chrome、Firefox 和 Opera 中可用,是最受欢迎的之一。在 Javascript 中动态创建 Svg 图像使用 JavaScript,可以动态创建 SVG 图像。 这可以通过创建一个新的 XMLHttpRequest() 对象并将 responseType 设置为“text/xml”来完成。 创建对象后,可以使用 open() 方法打开与外部 SVG 文件的连接。 onload 事件可用于执行解析 SVG 文件并创建 XMLDocument 对象的回调函数。 最后,可以使用createElementNS()方法来创建一个SVG图像元素。本教程将教你如何使用sva制作动态元素。 MDN 文档指出 http://www.w3.org/2000/svg 是 svg 文件的语法。 我们正在创建的元素——rect、text、circle 等等——必须对其名称进行限定。 我们对此并不关心,因为可选的选项参数是无关紧要的。 什么是表示属性、CSS 和内联样式? 我们可以使用 GreenSock 工具选择属性或内联样式作为选项。 在现代浏览器中,CSS 可用于操作 cy、cy、r 等属性。很可能,您会希望尽可能多地使用 CSS 属性(样式表或内联样式)。 在本文中,我将介绍如何使用 HTML、CSS 和表示属性创建动态元素。 我们将使用一个变量来确定我们希望 svg 具有的矩形数量、宽度和高度。 即将推出的软件版本(称为 SVG2)中将包含新的几何属性,但我不能对它们说太多,因为它们尚未发布。 我们希望看到这些元素的作用,以便我们可以衡量它们的效率。 剪辑路径工具可用于将动态元素添加到 SVG 的根。 在此演示中,我们将创建一个描边版本的基色圆圈,并将它们添加到一个组中,以便我们立即显示它们。每个裁剪矩形的补间值为 100,并将放置在裁剪圆的下方。 当播放头反转时,它会导致补间也反转。 因为我们在补间开始时单击,所以此时什么也没有发生。 然后将补间转移到我们的动画中。 为了演示数字量规的构造方式,我使用了波浪形内环和外环。 内层循环通过调用 makeLine() 函数创建五条垂直线,而外层循环通过调用 makeNumber() 函数在较高的刻度线上方创建数字。 它允许您即时调整内容,而不必恢复到矢量软件。创建 Svg 视口视口是一个矩形区域,可以在其中查看 SVG 文档。 将 svg> 元素的 viewBox 属性设置为包含四个数字的列表:min-x、min-y、min-width 和 min-height。 SVG 视口的位置和尺寸由用户空间中定义的 viewBox 属性确定。 viewBox 属性表示四个数字:min-x、min-y、宽度和高度。 视口由第一个数字中的 min-x 表示。 第二个数字指定视口的最顶端位置,min-y。 视口在用户空间中的宽度由第三个数字 width 定义。 第四个值 height 定义视口在用户空间中的高度。 可以通过首先创建具有 viewBox 属性的元素,然后将其值设置为视口的值来绘制视口。 然后您可以使用 svg> 元素的 draw() 方法来绘制对象。 将 svg> 元素的 viewBox 属性设置为四个数字:min-x、min-y、min-z 和 height-x。Svg 元素 SVG 元素是可以添加到 HTML5 文档中的图形元素。 它们可用于创建线条、形状和图像,并可使用 CSS 进行自定义。