更改 SVG 图形原点的 3 种方法

已发表: 2023-02-26

如果您要更改SVG 图形的原点,可以使用几种方法。 第一种是使用 transform 属性。 这将允许您更改原点的 x 和 y 坐标。 第二种方法是使用 viewBox 属性。 这将允许您控制图形的位置和大小。 第三种方法是使用 preserveAspectRatio 属性。 这将允许您控制图形的缩放方式。

我们将在本文中向您展示如何解决 CSS Flip Svg 编程难题。 结果,通过使用各种不同的示例成功解决了该问题。 如果要镜像 SVG,可以将其上传到编辑器或拖放它。 激活 SVG 文件后,您可以水平或垂直翻转它以镜像它。 rotate(x, y) 变换函数用于指定旋转度数。 在这种情况下,transform-origin 的初始值为 50% 50% 0。 旋转以中心为中心。 无需经过与程序相同的步骤即可修改 SVG。 ViewBox 是一个SVG 视口位置和尺寸属性,用于定义用户空间中的尺寸。

用于垂直缩放的 CSS:-webkit-transform: scaleX(-1); 转换:scaleX(-1); 2020 年 9 月 15 日

您需要打开 HTML 编辑器。 要翻转图像,您必须首先确定必须遵循的代码行。 请在您的图像代码中包含以下样式属性:style=”filter:FlipH”:现在您的图像标签应该显示为与此完全相同:保存文档。

如何翻转 Svg 文件?

如何翻转 Svg 文件?
资料来源:cricutsvgfree.com

要翻转 SVG 文件,您需要使用可以打开和编辑SVG 文件的程序。 有几个不同的程序可以做到这一点,但我们推荐 Inkscape,因为它是一个免费的开源程序。 安装 Inkscape 后,在程序中打开 SVG 文件。 然后,单击“编辑”菜单并从菜单中选择“水平翻转”或“垂直翻转”。 这将翻转您的 SVG 文件。

SVG 变换属性可用于自定义图像的外观,而不会影响其质量。 您可以在不降低图像质量的情况下调整图像大小、更改填充颜色、添加或更改轮廓以及执行其他操作。

如何将 Origin 更改为 Svg?

如何将 Origin 更改为 Svg?
资料来源:wondershare.com

这个问题没有千篇一律的答案,因为更改 SVG 文件来源的最佳方法可能因特定文件和所需结果而异。 但是,关于如何更改 SVG 文件来源的一些技巧可能包括使用支持矢量编辑的软件程序,例如 Adob​​e Illustrator、Inkscape 或 CorelDRAW; 或者,如果文件是标准 SVG 文件,则直接编辑代码以更改“viewBox”属性的值。

设置 Svg 元素的变换原点

可以通过为项目分配 transform-origin 属性来更改项目的来源。 该属性可用于标识任何SVG 元素。 变换的起点可以在元素的中心找到。


Svg 变换原点示例

transform-origin 属性用于改变元素的位置。 元素将根据给定的属性值进行转换。 例如,如果值为“50% 50%”,则元素将在页面中间进行变换。

HTML 和 SVG 元素可以使用转换函数轻松更改。 然而,大多数相同的事情并不像在 HTML 元素中那样起作用。 换句话说,我们不能将 % 值用于转换函数(尽管 % 值也不适用于 CSS 转换),并且所有旋转或倾斜角度值都是度数。 在 HTML 中,坐标系统定义在元素的 50% 50% 点。 对于 SVG,它位于画布的 0 0 点。 在旋转、缩放或倾斜变换之后,将出现不同的结果。 翻译将我们的元素转换为它们的等价物。

可在 2D 中使用的 HTML 和 SVG 元素有三种翻译函数:translateX(tx)、translateY(ty) 和 translate(tx[, ty)。 前两个元素中的每一个仅使用 x 和 y 方向作为其系统坐标。 第三个平移函数分别沿 x 轴和 y 轴移动元素 tx。 当元素旋转时,它们会沿着固定原点的坐标移动。 角度用度数(degrees)、弧度(radians)、圈数(turns)和gradians(刻度)表示。 还有一些方法可以使用(例如,calc(25turn – 30deg),它在 Chrome 38 及更高版本中有效,但这仅在 Chrome 25+ 中有效。calc() 将在 Firefox 59+ 中作为角度值启用对于 rotate() 函数。

我们的 CSS 还可以指定一个 transform-origin 值来模拟 x 和 y 参数。 当使用 SVG 变换属性时,元素及其坐标系仅围绕 rotate() 函数的第二个和第三个参数指定的点旋转。 要反转旋转,我们必须使用旋转 (-45 140 105) 而不是旋转 (-45)。 当我们将元素围绕其右下角旋转 90 度,然后再次围绕其右上角旋转 90 度时,我们为每次旋转指定一个固定点。 如何使用 CSS 转换获得相同的效果? 在第一个旋转中,我们可以将变换原点设置在右下角; 但是,如果我们想在第二个旋转中设置变换原点,我们必须将变换原点设置在右下角。 如果我们在第一个元素之后链接它,我们只会将元素再旋转 90 度。

如果坐标在比例变换的原点,将根据它们所在的位置来决定。 当比例因子在 (-1, 1) 范围内时,元素会收缩,但当比例因子超出此范围时,它会增长。 方向比例因子是一个与一个比例因子不同的比例因子,一个比例因子不同于一个比例因子,一个比例因子不同于一个比例因子,一个比例因子不同于一个比例因子与缩放因子不同,我们可以使用链接变换或设置适当的变换原点来实现此目标。 Sufficing 通过将正方形转换为圆形和将圆形转换为平行四边形来扭曲元素,这与将正方形转换为圆形或圆形的平移或旋转相反。 倾斜角是轴的最终位置和初始位置之间的角度,它会因变换而改变。 当区间[0, 90]中出现[0, 90]的正偏角时,会出现一个与原坐标中已有的同号的值。 当我们沿 x 轴倾斜时,x 坐标在元素中的所有点都保持不变; 但是,根据倾斜角度的计算方式,y 坐标会发生变化。

执行倾斜操作时元素坐标系的位置与其原点一样重要。 如果同时应用沿同一轴的相同角度的两个倾斜变换,则每个结果将不同。 要查看 HTML 大小写在下图中的右侧或左侧,请单击它。 在这两种情况下,我们的角度都是 60 度,但右上角的 y 坐标才是不同之处。 单位值用于计算 CSS 变换属性的角度。 度数(范围从 0 到 )、弧度(范围从 0 到弧度)、圈数(范围从 0 到圈数)或弧度(范围从 0 到 gradians)都可以使用,具体取决于这些值的组合。 我们可以使用像 HTML 元素这样的变换,我们可以在其中旋转、缩放和倾斜元素。

例如,如果我们使用链式变换对 SVG 属性进行赋值,则可能会在 IE 中获得我们想要的结果。 然而,它的丑陋是可怕的。 最简单的方法是什么? 下面代码中显示的三个类似多边形的形状称为星形。 下面的演示演示了它们是如何相对于画布的原点 (0 0) 定位的。 如果代码中有 X, Y 对,您可以检查其中哪些对应于代码中的哪个点。 我们希望每颗星都有不同的旋转,所以假设它有一个随机角度和一个基于其索引的特定角度。

Svg 的来源在哪里?

这个坐标系来源于 HTML 中元素的 50% 50% 点。 矢量文件中元素的原点由其元素在 svg> 元素中 0 0 处的位置确定,假设没有对元素本身或其任何祖先应用变换。

Svg 中的变换是什么?

此属性转换定义了一组应用于元素及其子元素的转换定义。 为避免混淆,transform 是一个表示属性,这意味着它可以用作 CSS 属性。

Svg 原点左上角

SVG 中的所有元素都以与画布相同的方式工作:它使用坐标系或网格系统(以及许多其他计算机绘图例程)。 点 (0,0) 是文档原点开始的位置。

如何镜像一个 Svg

在图像视口中,用户空间中有一个矩形区域,用于确定图像的大小和位置。 viewBox 属性定义了 SVG 视口在用户空间中的位置和尺寸。 您必须通过输入四个数字将 viewBox 属性添加到页面:min-x、min-y、宽度和高度。 为了镜像 SVG,您必须先上传它或将其拖放到编辑器中。 在编辑器的顶部工具栏中,单击翻转工具。 当您准备好镜像 SVG 文件时,垂直或水平翻转它。 下载完矢量后,您可以将其保存为各种文件格式。

使用 Javascript 旋转 Svg

要旋转 SVG 图像,可以使用 rotate() 变换函数。 您可以使用rotate 属性指定旋转角度。 例如,要将图像旋转 90 度,您可以使用以下代码: