在 SVG(可擴展向量圖形)中,您可以使用<filter>
元素和各種濾鏡基元對元素套用模糊效果。以下是在 SVG 中使用模糊效果的一些方法:
高斯模糊: <feGaussianBlur>
濾鏡基元通常用於建立模糊效果。它採用標準差參數來決定模糊量。
XML <filter id="blurFilter" x="0" y="0" width="100%" height="100%">
<feGaussianBlur in="SourceGraphic" stdDeviation="5" />
</filter>
<rect width="200" height="100" style="filter: url(#blurFilter);" />
在此範例中,標準偏差為 5 的模糊濾鏡應用於矩形。
自訂模糊:您可以分別控制 x 和 y 方向的模糊:
XML <filter id="customBlur" x="0" y="0" width="100%" height="100%">
<feGaussianBlur in="SourceGraphic" stdDeviation="5 2" />
</filter>
<rect width="200" height="100" style="filter: url(#customBlur);" />
此處,x 方向的標準差設定為 5,y 方向的標準差設定為 2。
組合濾鏡:您可以組合多個濾鏡來達到不同的效果。例如,將模糊與顏色矩陣結合可以創造有趣的效果。
XML <filter id="combinedFilter" x="0" y="0" width="100%" height="100%">
<feGaussianBlur in="SourceGraphic" stdDeviation="3" />
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 20 -10" />
</filter>
<rect width="200" height="100" style="filter: url(#combinedFilter);" />
此範例將模糊與顏色矩陣結合在一起。
動畫模糊:您可以使用 CSS 動畫來建立動態模糊效果。
XML <rect width="200" height="100" style="filter: url(#blurFilter); transition: filter 0.5s;" />
在濾鏡屬性上套用 CSS 轉場可以讓您製作模糊效果的動畫。
將模糊套用於特定元素:可以使用filter
屬性將濾鏡套用到特定元素。
XML <circle cx="50" cy="50" r="40" fill="blue" filter="url(#blurFilter)" />
此範例僅將模糊濾鏡套用至指定的圓。
嘗試使用這些技術在 SVG 圖形中實現所需的模糊效果。請記住,瀏覽器支援可能會有所不同,因此最好檢查您使用的功能的兼容性。