当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


SVG <feSpecularLighting>用法及代码示例


<feSpecularLighting> SVG过滤器原语使用alpha通道作为凹凸贴图来照亮源图形。

用法:

<feSpecularLighting in ="" surfaceScale =""  specularConstant="" 
specularExponent="" kernelUnitLength="" >

属性:

  • in:它标识给定过滤器原语的输入。
  • surfaceScale:它代表滤光器基元的表面高度。
  • specularConstant:它控制镜面照明的反射率。
  • specularExponent:它控制光源的焦点。
  • kernelUnitLength:根据使用的上下文,它有两种含义。对于照明滤镜基元,它指示x和y坐标的预期距离,对于<feConvolveMatrix>,它指示内核矩阵中连续列和行之间的预期距离。

范例1:

HTML

<!DOCTYPE html> 
<html> 
  
<body> 
    <svg height="200" width="200"> 
        <filter id="filter"> 
  
            <feSpecularLighting specularExponent="5"
                lighting-color="gold" result="light"> 
                  
                <fePointLight x="100" y="100" z="100" /> 
            </feSpecularLighting> 
  
            <feComposite in="SourceGraphic" 
                in2="specOut" operator="arithmetic" 
                k1="1" k2="0" k3="1" k4="0" /> 
        </filter> 
  
        <rect x="1" y="1" width="200" height="200" 
            style="stroke:#000000; fill:green;  
            filter:url(#filter);" /> 
  
        <rect x="50" y="50" width="100" height="100" 
            style="stroke:#000000; fill:green;  
            filter:url(#filter);" /> 
  
        <g fill="#FFFFFF" stroke="black" font-size="10" 
            font-family="Verdana"> 
              
            <text x="60" y="100">GeeksForGeeks</text> 
    </svg> 
</body> 
  
</html>

输出:



范例2:

HTML

<!DOCTYPE html> 
<html> 
  
<body> 
    <svg height="200" width="200" 
        viewBox="0 0 220 220"> 
          
        <filter id="filter"> 
  
            <feSpecularLighting specularExponent="2"
                lighting-color="shadow" result="light"> 
                  
                <fePointLight x="200" y="200" z="100" /> 
            </feSpecularLighting> 
  
            <feComposite in="SourceGraphic" 
                in2="specOut" operator="arithmetic" 
                k1="0" k2="1" k3="1" k4="0" /> 
        </filter> 
  
        <rect x="40" y="40" width="200" height="200" 
            style="stroke:black; fill:green; 
            filter:url(#filter);" /> 
  
        <circle cx="130" cy="130" r="50" style= 
            "fill:black; filter:url(#filter)" /> 
    </svg> 
</body> 
  
</html>

输出:

范例3:

HTML

<!DOCTYPE html> 
<html> 
  
<body> 
    <svg height="200" width="200" 
        viewBox="0 0 220 220"> 
          
        <filter id="filter"> 
  
            <feSpecularLighting in="BackgroundImage"
                specularConstant="0.8" surfaceScale="1"
                specularExponent="20" kernelUnitLength="1"
                lighting-color="red"> 
                  
                <fePointLight x="100" y="100" z="220" /> 
            </feSpecularLighting> 
  
            <feComposite in="SourceGraphic" in2="specOut"
                operator="arithmetic" k1="0" k2="1" 
                k3="1" k4="0" /> 
        </filter> 
  
        <rect x="40" y="40" width="100" height="100" 
            style="stroke:#000000; fill:lightgreen;  
                filter:url(#filter);" /> 
    </svg> 
</body> 
  
</html>

输出:




相关用法


注:本文由纯净天空筛选整理自epistler_999大神的英文原创作品 SVG <feSpecularLighting> Element。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。