更改 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 度,您可以使用以下代碼: