SVG 漸層- 放射性


SVG 放射性漸層 - <radialGradient>

<radialGradient>元素用於定義放射性漸層。

<radialGradient>標籤必須巢狀在<defs>的內部。<defs>標籤是definitions的縮寫,它可對諸如漸層之類的特殊元素進行定義。


例項 1

定義一個放射性漸層從白色到藍色橢圓:

下面是SVG程式碼:

範例

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <defs>
    <radialGradient id="grad1" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="0%" style="stop-color:rgb(255,255,255);
      stop-opacity:0" />
      <stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1" />
    </radialGradient>
  </defs>
  <ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad1)" />
</svg>

線上執行 ?

對於Opera使用者:檢視SVG檔案(右鍵單擊SVG圖形預覽源)。

程式碼解析:

  • <radialGradient>標籤的 id 屬性可為漸層定義一個唯一的名稱
  • CX,CY和r屬性定義的最外層圓和Fx和Fy定義的最內層圓
  • 漸層顏色範圍可以由兩個或兩個以上的顏色組成。每種顏色用一個<stop>標籤指定。offset屬性用來定義漸層色開始和結束
  • 留白屬性把ellipse元素連結到此漸層

例項 2

定義放射性漸層從白色到藍色的另一個橢圓:

下面是SVG程式碼:

範例

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <defs>
    <radialGradient id="grad1" cx="20%" cy="30%" r="30%" fx="50%" fy="50%">
      <stop offset="0%" style="stop-color:rgb(255,255,255);
      stop-opacity:0" />
      <stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1" />
    </radialGradient>
  </defs>
  <ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad1)" />
</svg>

線上執行 ?

對於Opera使用者:檢視SVG檔案(右鍵單擊SVG圖形預覽源)。