濾鏡稱得上是SVG最強大的功能了,它允許你給圖形(圖形元素和容器元素)添加各種專業軟件中才有的濾鏡特效。這樣你就很容易在客戶端生成和修改圖像了。而且濾鏡并沒有破壞原有文檔的結構,所以維護性也很好。
濾鏡用filter元素定義:需要使用的時候,在需要濾鏡效果的圖形或容器上添加filter屬性,引用相關濾鏡即可。
濾鏡元素包含很多的濾鏡原子操作;每個原子操作在傳入的對象上執行一個基本的圖形操作,并產生圖形輸出。大多數的原子操作生成的結果基本都是一個RGBA圖片。每個原子操作的輸入既可以是源圖形,也可以使其他原子操作的結果。所以引用濾鏡效果的過程就是在源圖形上應用相關的濾鏡原子操作,最后生成一個新的圖形并渲染。
當在容器上(例如g元素)使用filter屬性的時候,濾鏡效果會應用到容器中的所有元素。但是容器中的元素并不會直接渲染到屏幕,而是會被暫時存儲起來。然后,圖形命令會被當做處理引用的filter元素的過程的一部分被執行,這個時候才會去渲染。這是通過使用SourceGraphic和SourceAlpha來指定的。下面的第二個例子中的第三種情況會演示這種效果。
有些濾鏡效果會生成一些沒有定義的像素點,這些點會被處理成透明效果。
先來看一個例子:
新聞熱點
疑難解答