svg濾鏡效果程式碼例項

螞蟻小編發表於2017-02-01
分享一段程式碼例項,它實現了svg濾鏡效果。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
</head>
<body>
<svg width="7.5cm" height="5cm" viewBox="0 0 200 120"
  xmlns="http://www.w3.org/2000/svg" version="1.1">
  <defs>
    <filter id="MyFilter" filterUnits="userSpaceOnUse" x="0" y="0" width="200" height="120">
      <feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur" />
      <feOffset in="blur" dx="4" dy="4" result="offsetBlur" />
      <feSpecularLighting in="blur" surfaceScale="5" specularConstant=".75"
        specularExponent="20"
        lighting-color="#bbbbbb"
        result="specOut">
      <fePointLight x="-5000" y="-10000" z="20000" />
    </feSpecularLighting>
    <feComposite in="specOut" in2="SourceAlpha" operator="in" result="specOut" />
    <feComposite in="SourceGraphic" in2="specOut" operator="arithmetic"
      k1="0" k2="1" k3="1" k4="0" result="litPaint" />
    <feMerge>
      <feMergeNode in="offsetBlur" />
      <feMergeNode in="litPaint" />
    </feMerge>
  </filter>
</defs>
<rect x="1" y="1" width="198" height="118" fill="#888888" stroke="blue" />
<g filter="url(#MyFilter)">
  <g>
    <path fill="none" stroke="#D90000" stroke-width="10"
      d="M50,90 C0,90 0,30 50,30 L150,30 C200,30 200,90 150,90 z" />
    <path fill="#D90000"
      d="M60,80 C30,80 30,40 60,40 L140,40 C170,40 170,80 140,80 z" />
      <g fill="#FFFFFF" stroke="black" font-size="45" font-family="Verdana">
        <text x="52" y="76">SVG</text>
      </g>
    </g>
  </g>
</svg>
</body>
</html>

相關文章