今天主要談一下SVG的特殊效果
其實和canvas都是差不多的,只不過是利用XML標籤
用的不是很多但是以防以後萬一用到還是整理一下
svg中也可以加入圖片
rrreee注意這裡是image標籤而不是我們html中的img標籤
xlink:href指定資源路徑
x,y 圖片座標位置
height,width 圖片在svg中顯示的寬高
svg提供了許多濾鏡
feBlend
feColorMatrix
feComponentTransfer
feComposite
#feConvolveMatrix
feDiffuseLighting
#feDisplacementMap
feFlood
#feGaussianBlur
filter = "url (#id)"
來引用濾鏡使用濾鏡可以建構絢麗的圖案
高斯模糊
<svg width=300 height=300> <image xlink:href="./images/d.jpg" x=100 y=100 height=100 width=100></image></svg>
filter id屬性定義一個濾鏡的唯一名稱
feGaussianBlur定義模糊效果in 定義了由整個影像建立效果
(SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha | FillPaint | StrokePaint |
< filter-primitive-reference >)
stdDeviation 定義模糊量
rect元素的濾鏡屬性把元素連結到”f1”濾鏡
漸層
線性漸變
<svg width=100 height=100> <defs> <filter id="f1"> <feGaussianBlur in="SourceGraphic" stdDeviation="15"> </filter> </defs> <rect width="100" height="100" stroke="blue" stroke-width="3" fill="red" filter="url(#f1)"></svg>
linearGradient的x1,y1,x2,y2定義了漸變起始和結束位置
顏色方位由stop標籤指定注意XML單一標籤是要有「/」的,否則標籤無效##徑向漸層
<svg widht=300 height=300> <defs> <linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%"> <stop offset="0%" style="stop-color:rgb(0,0,0);stop-opacity:1" /> <stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:1" /> </linearGradient> </defs> <ellipse cx="150" cy="150" rx="100" ry="50" fill="url(#grad1)" /></svg>
#radialGradient的cx,cy和r定義最外層圓fx和fy定義最內層圓
顏色同樣由stop標籤指定
g標籤
它就相當於一個容器,我們可以為它內部的圖形指定相同的樣式
比如說顏色、座標系、濾鏡等等
<svg width=300 height=300> <defs> <radialGradient id="grad2" cx="50%" cy="50%" r="50%" fx="50%" fy="50%"> <stop offset="0%" style="stop-color:white;stop-opacity:0" /> <stop offset="100%" style="stop-color:orange;stop-opacity:1" /> </radialGradient> </defs> <ellipse cx="150" cy="150" rx="100" ry="50" fill="url(#grad2)" /></svg>
最後推薦給大家一個svg庫snap.svg 可以讓我們像jQuery操作DOM一樣操作SVG
snap.svg
以上就是SVG(可縮放向量圖形)圖片添加、高斯模糊、漸變與g標籤的內容,更多相關內容請關注PHP中文網(www.php.cn )!