更改 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 文件,您需要使用可以打開和編輯SVG 文件的程序。 有幾個不同的程序可以做到這一點,但我們推薦 Inkscape,因為它是一個免費的開源程序。 安裝 Inkscape 後,在程序中打開 SVG 文件。 然後,單擊“編輯”菜單並從菜單中選擇“水平翻轉”或“垂直翻轉”。 這將翻轉您的 SVG 文件。
SVG 變換屬性可用於自定義圖像的外觀,而不會影響其質量。 您可以在不降低圖像質量的情況下調整圖像大小、更改填充顏色、添加或更改輪廓以及執行其他操作。
如何將 Origin 更改為 Svg?
這個問題沒有千篇一律的答案,因為更改 SVG 文件來源的最佳方法可能因特定文件和所需結果而異。 但是,關於如何更改 SVG 文件來源的一些技巧可能包括使用支持矢量編輯的軟件程序,例如 Adobe 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 度,您可以使用以下代碼: