3 Methoden zum Ändern des Ursprungs einer SVG-Grafik
Veröffentlicht: 2023-02-26Wenn Sie den Ursprung einer SVG-Grafik ändern möchten, stehen Ihnen einige Methoden zur Verfügung. Die erste besteht darin, das transform-Attribut zu verwenden. Dadurch können Sie die x- und y-Koordinaten des Ursprungspunkts ändern. Die zweite Methode ist die Verwendung des viewBox-Attributs. Dadurch können Sie die Position und Größe der Grafik steuern. Die dritte Methode besteht darin, das Attribut „konserveAspectRatio“ zu verwenden. Dadurch können Sie steuern, wie die Grafik skaliert wird.
In diesem Beitrag zeigen wir Ihnen, wie Sie das Programmierrätsel CSS Flip Svg lösen. Im Ergebnis konnte das Problem anhand verschiedener Beispiele erfolgreich gelöst werden. Wenn Sie ein SVG spiegeln möchten, können Sie es in den Editor hochladen oder es per Drag & Drop ziehen. Sobald die SVG-Datei aktiviert wurde, können Sie sie horizontal oder vertikal spiegeln, um sie zu spiegeln. Die Transformationsfunktion rotate(x, y) wird verwendet, um eine Drehung um einen Grad anzugeben. Der Anfangswert für transform-origin ist in diesem Fall 50 % 50 % 0. Die Drehung ist auf die Mitte zentriert. Das SVG kann modifiziert werden, ohne die gleichen Schritte wie das Programm durchlaufen zu müssen. ViewBox ist ein SVG-Ansichtsfensterpositions- und Dimensionsattribut, das die Abmessungen im Benutzerbereich definiert.
CSS für vertikale Skalierung: -webkit-transform: scaleX(-1); transformieren: scaleX(-1); 15.09.2020
Sie müssen Ihren HTML-Editor öffnen. Um ein Bild zu spiegeln, müssen Sie zuerst die Codezeile bestimmen, der gefolgt werden muss. Bitte fügen Sie das folgende Stilattribut in Ihren Bildcode ein: style=”filter:FlipH”: Jetzt sollte Ihr Bild-Tag genau so aussehen: Speichern Sie das Dokument.
Wie spiegele ich eine SVG-Datei?
Um eine SVG-Datei zu spiegeln, müssen Sie ein Programm verwenden, das SVG-Dateien öffnen und bearbeiten kann. Es gibt ein paar verschiedene Programme, die das können, aber wir empfehlen Inkscape, da es ein kostenloses Open-Source-Programm ist. Sobald Sie Inkscape installiert haben, öffnen Sie Ihre SVG-Datei im Programm. Klicken Sie dann auf das Menü „Bearbeiten“ und wählen Sie „Horizontal spiegeln“ oder „Vertikal spiegeln“ aus dem Menü. Dadurch wird Ihre SVG-Datei gespiegelt.
Die SVG-Transformationsattribute können verwendet werden, um das Aussehen eines Bildes anzupassen, ohne seine Qualität zu gefährden. Sie können die Größe eines Bilds ändern, ohne die Bildqualität zu verlieren, die Füllfarbe ändern, den Umriss hinzufügen oder ändern und andere Dinge tun.
Wie ändere ich den Ursprung in SVG?
Auf diese Frage gibt es keine allgemeingültige Antwort, da die beste Methode zum Ändern des Ursprungs einer SVG-Datei je nach Datei und gewünschtem Ergebnis unterschiedlich sein kann. Einige Tipps zum Ändern des Ursprungs einer SVG-Datei können jedoch die Verwendung eines Softwareprogramms umfassen, das die Vektorbearbeitung unterstützt, wie z. B. Adobe Illustrator, Inkscape oder CorelDRAW; oder, wenn es sich bei der Datei um eine Standard-SVG-Datei handelt, den Code direkt bearbeiten, um den Wert des Attributs „viewBox“ zu ändern.
Festlegen des Transformationsursprungs eines SVG-Elements
Es ist möglich, den Ursprung eines Elements zu ändern, indem man ihm das transform-origin-Attribut zuweist. Dieses Attribut kann verwendet werden, um jedes SVG-Element zu identifizieren. Der Ursprung der Transformationen befindet sich in der Mitte des Elements.
Beispiel für den Ursprung einer SVG-Transformation
Die Eigenschaft transform-origin wird verwendet, um die Position eines Elements zu ändern. Das Element wird gemäß den für die Eigenschaft angegebenen Werten transformiert. Wenn der Wert beispielsweise „50 % 50 %“ lautet, wird das Element in der Mitte der Seite transformiert.
Ebenso einfach lassen sich HTML- und SVG-Elemente über Transformationsfunktionen verändern. Die meisten der gleichen Dinge funktionieren jedoch nicht wie in HTML-Elementen. Anders ausgedrückt, wir können keine %-Werte zum Übersetzen von Funktionen verwenden (obwohl %-Werte auch nicht für CSS-Transformationen funktionieren würden), und alle Werte für Dreh- oder Neigungswinkel sind Grad. In HTML wird das Koordinatensystem am 50%-50%-Punkt des Elements definiert. Für SVG befindet es sich am 0 0-Punkt der Leinwand. Nach Transformationen zum Drehen, Skalieren oder Neigen treten unterschiedliche Ergebnisse auf. Die Übersetzung transformiert unsere Elemente in ihr Äquivalent.
Es gibt drei Übersetzungsfunktionen für HTML- und SVG-Elemente, die in 2D verwendet werden können: translateX(tx), translateY(ty) und translate(tx[, ty). Jedes der ersten beiden Elemente verwendet nur die x- und y-Richtung als seine Systemkoordinaten. Die dritte Translationsfunktion bewegt das Element tx entlang der x- bzw. y-Achse. Wenn die Elemente gedreht werden, bewegen sie sich entlang der Koordinaten des festen Ursprungs. Der Winkel wird in Grad (Grad), Bogenmaß ( Bogenmaß), Umdrehungen (Umdrehungen) und Neugrad (Gradienten) ausgedrückt. Es gibt auch Methoden, die verwendet werden können (z. B. calc(25turn – 30deg), die in Chrome 38 und höher funktionieren, aber dies funktioniert nur in Chrome 25+. calc() wird in Firefox 59+ als Winkelwert aktiviert für rotation()-Funktionen.
Unser CSS kann auch einen Transformationsursprungswert angeben, um die x- und y-Parameter zu emulieren. Bei Verwendung eines SVG-Transformationsattributs werden das Element und sein Koordinatensystem einfach um den Punkt gedreht, der durch das zweite und dritte Argument der Funktion „rotate()“ angegeben wird. Um die Drehung umzukehren, müssen wir rotieren (-45 140 105) anstelle von rotieren (-45) verwenden. Wenn wir ein Element um 90° um seine rechte untere Ecke und dann noch einmal um 90° um seine rechte obere Ecke drehen, geben wir für jede Drehung einen Fixpunkt an. Wie kann ich den gleichen Effekt mit CSS-Transformationen erzielen? In der ersten Rotation können wir den Transformationsursprung rechts unten setzen; Wenn wir jedoch den Transformationsursprung in der zweiten Drehung festlegen möchten, müssen wir den Transformationsursprung rechts unten festlegen. Wir werden das Element nur um weitere 90 drehen, wenn wir es nach dem ersten verketten.
Wenn sich die Koordinaten am Ursprung der Maßstabstransformation befinden, wird basierend darauf entschieden, wo sie sich befinden. Der Kontrakt eines Elements erfolgt, wenn ein Skalierungsfaktor innerhalb des Bereichs (–1, 1) liegt, wächst jedoch, wenn ein Skalierungsfaktor außerhalb dieses Bereichs liegt. Ein Richtungsskalierungsfaktor ist einer, der sich nicht von einem Skalierungsfaktor unterscheidet, der sich von einem Skalierungsfaktor unterscheidet, der sich von einem Skalierungsfaktor unterscheidet, der sich von einem Skalierungsfaktor unterscheidet, der sich von einem Skalierungsfaktor unterscheidet unterscheidet sich von einem Skalierungsfaktor, der ist. Wir können Verkettungstransformationen verwenden oder den geeigneten Transformationsursprung festlegen, um dieses Ziel zu erreichen. Ausreichend verzerrt ein Element, indem Quadrate in Kreise und Kreise in Parallelogramme umgewandelt werden, im Gegensatz zu Translation oder Rotation, die Quadrate in Kreise oder Kreise umwandeln. Der Neigungswinkel ist der Winkel zwischen der End- und der Anfangsposition der Achse, die sich als Ergebnis der Transformation ändert. Wenn im Intervall [0, 90] ein positiver Schräglaufwinkel von [0, 90] auftritt, erscheint ein Wert mit dem gleichen Vorzeichen wie der bereits in der ursprünglichen Koordinate. Wenn wir entlang der x-Achse neigen, bleibt die x-Koordinate an allen Punkten in unserem Element konstant; Je nachdem, wie der Neigungswinkel berechnet wird, ändert sich jedoch die y-Koordinate.
Die Lage des Koordinatensystems des Elements bei einer Skew-Operation ist ebenso wichtig wie sein Ursprung. Wenn zwei Schrägtransformationen mit demselben Winkel entlang derselben Achse gleichzeitig angewendet werden, sind die Ergebnisse für beide unterschiedlich. Um zu sehen, welcher Fall der HTML-Fall in der Abbildung unten ist, rechts oder links, klicken Sie darauf. In beiden Fällen beträgt unser Winkel 60 Grad, aber die y-Koordinate der oberen rechten Ecke macht den Unterschied. Ein Einheitswert wird verwendet, um den Winkel für die CSS-Transformationseigenschaft zu berechnen. Grad (im Bereich von 0 bis ), Bogenmaß (im Bereich von 0 bis Bogenmaß), Drehungen (im Bereich von 0 bis Drehungen) oder Neugrad (im Bereich von 0 bis Grad) können alle verwendet werden, abhängig von der Kombination dieser Werte. Wir können Transformationen wie HTML-Elemente verwenden, in denen wir Elemente drehen, skalieren und neigen können.
Wenn wir beispielsweise verkettete Transformationen verwenden, um ein SVG-Attribut zu bewerten, kann das gewünschte Ergebnis im IE erhalten werden. Seine Hässlichkeit ist jedoch schrecklich. Wie geht das am einfachsten? Die drei polygonartigen Formen, die im folgenden Code gezeigt werden, sind als Sterne bekannt. Die folgende Demo zeigt, wie sie relativ zum Ursprung der Leinwand positioniert sind (0 0). Wenn der Code X, Y-Paare enthält, können Sie überprüfen, welches davon welcher Stelle im Code entspricht. Wir wollen für jeden Stern eine andere Drehung , also nehmen wir an, er hat einen zufälligen Winkel und einen bestimmten Winkel, der auf seinem Index basiert.
Wo ist der SVG-Ursprung?
Dieses Koordinatensystem wird vom 50%-50%-Punkt des Elements in HTML abgeleitet. Der Ursprung eines Elements in einer Vektordatei wird durch die Position seines Elements innerhalb des svg>-Elements bei 0 0 bestimmt, vorausgesetzt, dass keine Transformation auf das Element selbst oder einen seiner Vorfahren angewendet wird.
Was ist Transformieren in SVG?
Diese Attributtransformation definiert eine Reihe von Transformationsdefinitionen, die für Elemente und ihre untergeordneten Elemente gelten. Um Verwirrung zu vermeiden, transform ist ein Präsentationsattribut, was bedeutet, dass es als CSS-Eigenschaft verwendet werden kann.
SVG-Ursprung oben links
Alle Elemente in SVG funktionieren auf die gleiche Weise wie Canvas: Es verwendet ein Koordinatensystem oder ein Rastersystem (und viele andere Computerzeichenroutinen). Ein Punkt (0,0) ist der Ort, an dem der Ursprungspunkt eines Dokuments beginnt.
So spiegeln Sie ein SVG
In einem Bildansichtsfenster gibt es einen rechteckigen Bereich im Benutzerraum, der die Größe und Position des Bildes bestimmt. Das Attribut viewBox definiert die Position und Dimension eines SVG-Ansichtsfensters im Benutzerbereich. Sie müssen einer Seite ein viewBox-Attribut hinzufügen, indem Sie vier Zahlen eingeben: min-x, min-y, Breite und Höhe. Um ein SVG zu spiegeln, müssen Sie es zuerst hochladen oder per Drag & Drop in den Editor ziehen. Klicken Sie in der oberen Symbolleiste des Editors auf das Flip-Tool . Wenn Sie bereit sind, die SVG-Datei zu spiegeln, drehen Sie sie vertikal oder horizontal. Nachdem Sie den Vektor heruntergeladen haben, können Sie ihn in einer Vielzahl von Dateiformaten speichern.
Drehen Sie SVG mit Javascript
Um ein SVG-Bild zu drehen, können Sie die Umwandlungsfunktion rotate() verwenden. Den Rotationswinkel können Sie mit dem rotations-Attribut angeben. Um beispielsweise ein Bild um 90 Grad zu drehen, würden Sie den folgenden Code verwenden: