在 Svg 中画一条线

已发表: 2022-12-08

SVG,即可缩放矢量图形,是一种图像格式,可以在不损失质量的情况下实现无限的可缩放性。 这使得它非常适合线条艺术,通常需要根据不同的用例调整线条艺术的大小。 在 SVG 中画一条线非常简单。 您所需要的只是一个起点和一个终点。 这些可以根据 (x,y) 坐标或 SVG 图像总宽度和高度的百分比来定义。 一旦您有了起点和终点,您只需将一个元素添加到您的 SVG 代码并指定 x1、y1、x2 和 y2 属性以对应您的起点和终点。 而已! 下面是如何在 SVG 中绘制线条的基本示例:此示例将绘制一条从 SVG 图像的左上角 (0,0) 到右下角 (100,100) 的线条。

如何在 Svg 中绘制直线?

如何在 Svg 中绘制直线?
图片来源:https://etsystatic.com

使用 *line 可以直接绘制一条线,无需指定任何其他内容; 做一个简单的x-。 这对应于线的 y 坐标。 如果一个坐标被认为是用户坐标,或者如果它是一个单位(如 em、in 等)的一部分,则可以指定没有单位的坐标。

CodePen 中的 HTML 编辑器用于编写 HTML 正文标签中的所有内容以及 HTML 元素中的所有内容。 如果你想添加对整个文档有重大影响的类,这是你要去的地方。 使用 Internet 上任何样式表中的 CSS 是将其添加到您的 Pen 的最佳方式。 使用 Pen 编写脚本的位置没有限制。 要将 URL 添加到此页面,请输入它们的顺序,我们将按以下顺序插入。 如果您链接的脚本的文件扩展名不是预处理器,我们将在申请前尝试对其进行处理。

Svg 路径:基础知识

可以使用 d 属性绘制路径,该属性指定要绘制的路径。 路径定义是由命令字母和表示命令参数的数字组成的路径命令列表。
例如,您可以定义一条连接点 (5,5) 和 (10,10) 的路径,如下所示:*br。 它应该是:d:M10.5 L5 br>。 因此,此路径从文档 (10,10) 的左下角开始,到文档 (5,10) 的左上角结束。 M10.5 值代表路径的起点,L5 值代表路径的终点。 要用颜色填充路径,您还可以使用 fill 属性。 通过使用以下路径定义,路径可以用红色填充:*br。 填充物应标记为 D:M10.5 L5。

svg的哪个标签用来画线?

svg的哪个标签用来画线?
图片来源:https://thecraftchop.com

标签用于画线。

区分 *line > 和 *polyline > 的属性是粗细、破折号和其他影响线条绘制方式的因素。 它们还可以具有影响线条外观的颜色和笔触。 它是一种矢量绘图语言,可用于创建范围广泛的图形元素。 直线和多边形可以由 *line* 或 *polyline* 组成。 线条的外观、粗细和破折号,以及颜色和描边属性,都可以单独控制。

使用 Svg 的好处

这可用于在保留整体结构的同时重用SVG 文档的部分内容。 它在创建可重复使用的图形或动画时特别有用。

是否可以在 Svg 中绘制任何路径?

是否可以在 Svg 中绘制任何路径?
图片来源:https://designlooter.com

是的,可以在 svg 中绘制任何路径。 这是因为 svg 使用基于矢量的图形格式,这意味着图像可以缩放到任意大小而不会降低质量。

路径可以用许多术语表示,例如 moveto、lineto、curveto(三次和二次代数)、arcs 和 closepaths。 复合路径(即具有多个子路径的路径)可用于允许出现圆环孔等效果。 本章概述了SVG 路径的语法、行为和 DOM 接口。 路径数据集中的每个命令都包含一个字符。 路径数据文件可以具有较小的文件大小和下载速度及其路径语法。 因为一些路径数据可以有换行符,路径数据可以分成多行以便于阅读。 解析时,属性中包含的换行符将规范化为空格字符。

该值用于通过使用路径数据字符串来指定形状。 Python 解释器的路径数据错误处理部分指定了如何处理字符串中的错误。 如果存在段,则第一个命令是 MOVE TO(如果有的话)。 根据直线原则,从当前点到当前路径的起点绘制一条自动直线。 这里的路径段可以短至零。 closepath 值表示子路径的结束,并使用当前值 'stroke-linejoin' 连接最后一段的结尾。 开放子路径的行为方式与封闭子路径相同,其中第一个和最后一个路径段没有连接。

在 Python 中,段完成关闭路径操作目前不受支持。 使用各种 lineto 命令,您可以改变从当前点到新点的直线方向。 当您使用相对 l 命令时,直线的终点是 (cpy y) (x)。 当你有一个带有正 x 值的相对 h 命令时,你可以在正 x 轴的方向上绘制一条水平线。 有五个示例,其中路径段是三次贝塞尔曲线。 以下是椭圆弧命令。 在命令到命令中,弧的终点是相对于命令使用顺序的命令到命令。

large-arc-flag 和 sweep-flag 表示四个圆弧中的一个或两个已经绘制完成,如下图所示。 EBNF 处理必须尽可能多地消耗给定的生产,当角色不再满足生产的要求时停止。 当 d 属性的值为零时,将禁用渲染。 上限和标记必须在与段边界相反的方向上计算,如默认方向所示。 如果 rx 或 ry 为 0,则圆弧被视为直线段(lineto)。 这个缩放操作可以在这个操作的数学公式的附录部分找到。 这里没有无效的路径段,在以下情况下渲染会受到影响:使用'pathLength',作者可以计算路径的总长度,以便用户代理可以缩放沿路径​​的距离计算。 在移动“路径”元素的操作中必须有零长度。 路径长度计算仅使用以下命令执行:lineto、curveto 和 arcto。

Svg 中的路径:基础知识

SVG 中的路径定义与其他绘图语言中的路径定义略有不同,但通常是相同的。 重要的是要记住,路径是由一系列点组成的,并且可以使用属性“stroke”和“fill”来为每个点着色和塑造形状。 路径是创建复杂而详细的插图的有效方式,它还可以为您的 SVG 文件增添一些视觉趣味。


Svg 在两点之间画线

Svg 在两点之间画线
图片来源:https://pinimg.com

SVG 是在两点之间画线的好方法。 您所需要的只是一个起点和一个终点。 您可以使用任何您想要的颜色和任何您想要的宽度。

三个元素可用于构建直线或曲线路径。 在页面的最后,有几个样式属性以相同的方式使用。 可以使用路径元素绘制两点 (x1, y1) 和 (x2, y2) 之间的线。路径元素允许您绘制一系列线和/或弧,这些线和/或弧可以通过线或弧连接或分离。 它能够渲染难以拍摄的图像。 下面是一些比较常用的绘图命令。 在第一个命令中,总是 M x1,y1,因为它将笔移动到该点的起始位置。 要选择四个弧,使用 large-arc-flag 和 sweep-flag。 作为具有 x 和 y 半径的椭圆的一部分的椭圆弧沿顺时针方向绕中心顺时针旋转。 在此图像中,无意义的路径具有椭圆弧和线段。

不同类型的路径

路径可以是封闭的(路径上的所有点都链接)、开放的(路径上的所有点都没有链接)、混合的(路径上的所有点都没有链接),或两者兼而有之。

Svg 画线动画

SVG 中的动画线条图是向您的网页添加一些简单而有效的动画的好方法。 为线条图设置动画的最常见方法是使用 animate 元素。 该元素将采用任何标准 SVG 动画属性,例如 dur(持续时间)和 begin。 您还可以设置线条的 stroke-dasharray 和 stroke-dashoffset 来创建一些有趣的效果。

当您在 Inkscape 中编辑文档时,您将获得 SVG DOM 视图而不是文档本身,后者仅作为 Adob​​e Illustrator 中的导出格式提供。 d 属性是指针的集合,渲染器必须使用这些指针来移动到特定点、开始一条线、将贝塞尔曲线绘制到另一点等等。 要控制破折号的偏移量:创建一个破折号的 SVG 路径。 在接下来的几个月中,Web Animations API 将对开发人员大有裨益。 在第一个示例中,我使用 SVG 属性来定义破折号,但您可以使用 CSS 来做同样的事情。 它可能很难实现,但使用 getBoundingClientRect 来触发布局是一种可行的方法。 Josh Matz 和 El Yosh 在一个时髦的立方体动画中对此进行了扩展。

Svg 线条样式

可以通过三种方式设置 SVG 元素的样式: 1. 使用表示属性: 2. 使用 CSS:line { stroke: red; 笔画宽度:2; } 3. 使用SVG Svg Horizo​​ntal Line水平线是水平方向的线。 换句话说,它是一条从左到右的线。在 Svg 中创建一条线在 SVG 中创建一条线时,您必须首先创建一个称为 *line 的元素。 在这个元素上,使用了 x 坐标(最左边的坐标)和 y 坐标(最右边的坐标)。 首先,定义线的起点和终点的坐标。 一旦有了这些坐标,您就可以简单地定义线的长度和属性。