SVG 그라디언트 - 선형


SVG 그라디언트

그라디언트는 한 색상에서 다른 색상으로 부드럽게 전환되는 것입니다. 또한 동일한 요소에 여러 색상 전환을 적용할 수 있습니다.

SVG에는 두 가지 주요 유형의 그라디언트가 있습니다.

  • 선의
  • 방사형

SVG 선형 그라데이션 - <linearGradient>

<linearGradient> 요소는 선형 기울기를 정의하는 데 사용됩니다.

<linearGradient> 요소는 <defs> 태그 내에 중첩되어야 합니다. <defs> 태그는 정의의 줄임말이며 특수 요소(예: 그래디언트)에 대한 정의를 포함합니다.

선형 그라디언트는 수평, 수직 또는 각도 그라디언트로 정의할 수 있습니다.

  • y1과 y2가 같고 x1과 x2가 다를 때 수평 그라디언트가 생성됩니다.
  • x1과 x2가 같고 y1과 y2가 다를 때 수직 그라디언트가 생성됩니다.
  • x1과 x2가 다르고 y1과 y2가 다를 때 각도 그래디언트가 생성됩니다.

실시예 1

노란색에서 빨간색으로 수평 선형 그라데이션으로 타원을 정의합니다.

Sorry, your browser does not support inline SVG.

다음은 SVG 코드입니다.

예시

<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>

코드 설명:

  • <linearGradient> 태그의 id 속성은 그라디언트의 고유한 이름을 정의합니다.
  • <linearGradient> 태그의 x1, x2, y1,y2 속성은 그래디언트의 시작 및 끝 위치를 정의합니다.
  • 그라디언트의 색상 범위는 두 가지 이상의 색상으로 구성될 수 있습니다. 각 색상은 <stop> 태그로 지정됩니다. offset 속성은 그래디언트 색상이 시작하고 끝나는 위치를 정의하는 데 사용됩니다.
  • 채우기 속성은 타원 요소를 그라디언트에 연결합니다.


실시예 2

노란색에서 빨간색으로 수직 선형 그라데이션으로 타원을 정의합니다.

Sorry, your browser does not support inline SVG.

다음은 SVG 코드입니다.

예시

<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>

실시예 3

노란색에서 빨간색으로 수평 선형 그라데이션으로 타원을 정의하고 타원 내부에 텍스트를 추가합니다.

SVG Sorry, your browser does not support inline SVG.

다음은 SVG 코드입니다.

예시

<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>

코드 설명:

  • <text> 요소는 텍스트를 추가하는 데 사용됩니다.