SVG 튜토리얼login
SVG 튜토리얼
작가:php.cn  업데이트 시간:2022-04-18 17:51:50

SVG 그라데이션 - 선형



SVG 그라디언트

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

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

  • 선형

  • 방사형


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

<linearGradient> 요소는 선형 그라데이션을 정의하는 데 사용됩니다.

<linearGradient> 태그는 <defs> 내에 중첩되어야 합니다. <defs> 태그는 그라디언트와 같은 특수 요소를 정의할 수 있는 정의의 약어입니다.

선형 그라데이션은 수평, 수직 또는 각도 그라데이션으로 정의할 수 있습니다.

  • y1과 y2는 동일하지만 x1과 x2는 다른 경우 수평 그라데이션을 만들 수 있습니다.

  • x1과 x2가 같지만 y1과 y2가 다른 경우 수직 그라데이션을 만들 수 있습니다.

  • x1과 x2가 다른 경우, y1과 y2가 다르면 각도 그라데이션을 만들 수 있습니다.


예 1

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

다음은 SVG 코드입니다.

인스턴스

<!DOCTYPE html>
<html>
<body>

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <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>

</body>
</html>

인스턴스 실행»

인스턴스 실행을 클릭합니다. " 버튼을 눌러 온라인 인스턴스를 확인하세요

Opera 사용자의 경우: SVG 파일 보기(SVG 그래픽 미리보기 소스를 마우스 오른쪽 버튼으로 클릭).

코드 분석:

  • <linearGradient>태그의 id 속성은 그라데이션의 고유한 이름을 정의할 수 있습니다

  • <linearGradient>The X1, 각 색상은 <stop> 태그로 지정됩니다. 오프셋 속성은 그라디언트의 시작 및 끝 위치를 정의하는 데 사용됩니다.

  • 채우기 속성은 타원 요소를 이 그라데이션에 연결합니다.

  • 예 2
세로 선형 그라데이션 정의 노란색에서 빨간색 타원형으로:

SVG 코드는 다음과 같습니다.

<!DOCTYPE html>
<html>
<body>

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <defs>
    <linearGradient id="grad1" 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(#grad1)" />
</svg>

</body>
</html>

실행 예»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요.
Opera 사용자의 경우: SVG 파일을 봅니다(SVG 그래픽 미리보기 소스를 마우스 오른쪽 버튼으로 클릭).

예 3

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

SVG 코드는 다음과 같습니다.

인스턴스

<!DOCTYPE html>
<html>
<body>

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <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)" />
  <text fill="#ffffff" font-size="45" font-family="Verdana" x="150" y="86">SVG</text>
</svg>

</body>
</html>