SVG-Verläufe - Linear


SVG-Verläufe

Ein Farbverlauf ist ein fließender Übergang von einer Farbe zur anderen. Außerdem können mehrere Farbübergänge auf dasselbe Element angewendet werden.

Es gibt zwei Haupttypen von Farbverläufen in SVG:

  • Linear
  • Radial

Linearer SVG-Verlauf - <linearGradient>

Das Element <linearGradient> wird verwendet, um einen linearen Farbverlauf zu definieren.

Das <linearGradient>-Element muss in einem <defs>-Tag verschachtelt sein. Das <defs>-Tag ist die Abkürzung für Definitionen und enthält die Definition spezieller Elemente (z. B. Farbverläufe).

Lineare Farbverläufe können als horizontale, vertikale oder Winkelverläufe definiert werden:

  • Horizontale Farbverläufe entstehen, wenn y1 und y2 gleich sind und x1 und x2 unterschiedlich sind
  • Vertikale Farbverläufe werden erstellt, wenn x1 und x2 gleich sind und y1 und y2 unterschiedlich sind
  • Winkelverläufe entstehen, wenn sich x1 und x2 und y1 und y2 unterscheiden

Beispiel 1

Definieren Sie eine Ellipse mit einem horizontalen linearen Farbverlauf von Gelb nach Rot:

Sorry, your browser does not support inline SVG.

Hier ist der SVG-Code:

Beispiel

<svg height="150" width="400">
  <defs>
    <linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
      <stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
    </linearGradient>
  </defs>
  <ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad1)" />
</svg>

Code-Erklärung:

  • Das id-Attribut des <linearGradient>-Tags definiert einen eindeutigen Namen für den Farbverlauf
  • Die Attribute x1, x2, y1,y2 des Tags <linearGradient> definieren die Start- und Endposition des Farbverlaufs
  • Der Farbbereich für einen Farbverlauf kann aus zwei oder mehr Farben bestehen. Jede Farbe wird mit einem <stop>-Tag angegeben. Das Offset-Attribut wird verwendet, um zu definieren, wo die Verlaufsfarbe beginnt und endet
  • Das Füllattribut verknüpft das Ellipsenelement mit dem Farbverlauf


Beispiel 2

Definieren Sie eine Ellipse mit einem vertikalen linearen Verlauf von Gelb nach Rot:

Sorry, your browser does not support inline SVG.

Hier ist der SVG-Code:

Beispiel

<svg height="150" width="400">
  <defs>
    <linearGradient id="grad2" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
      <stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
    </linearGradient>
  </defs>
  <ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad2)" />
</svg>

Beispiel 3

Definieren Sie eine Ellipse mit einem horizontalen linearen Verlauf von Gelb nach Rot und fügen Sie einen Text in die Ellipse ein:

SVG Sorry, your browser does not support inline SVG.

Hier ist der SVG-Code:

Beispiel

<svg height="150" width="400">
  <defs>
    <linearGradient id="grad3" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
      <stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
    </linearGradient>
  </defs>
  <ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad3)" />
  <text fill="#ffffff" font-size="45" font-family="Verdana" x="150" y="86">
  SVG</text>
</svg>

Code-Erklärung:

  • Das Element <text> wird verwendet, um einen Text hinzuzufügen