美文网首页
使用svg绘制图形,实现渐变效果以及模糊效果

使用svg绘制图形,实现渐变效果以及模糊效果

作者: 挣脱吧小白 | 来源:发表于2016-12-18 18:07 被阅读0次

    一、SVG-绘制图形

     1. <svg></svg>
    
                 类似于canvas元素,但可以使用css样式
    
                 使用svg绘制图形,必须定义svg元素中
    
     2、矩形元素
    
       <rect x="100" y="100" width="200" height="150" fill="blue" stroke="red" stroke-width="5"> </rect>
    
       如果使用style属性来设置他的样式,例如设置背景颜色style="background:red"是不行的,要使用style="fill:red"
    
     3、 圆形元素
    
       <circle cx="50" cy="50" r="50"></circle>
    
     4、椭圆元素
    
            <ellipse cx="" cy="" rx="" ry="">
    
            cx 属性定义圆点的 x 坐标
            cy 属性定义圆点的 y 坐标
            rx 属性定义水平半径
            ry 属性定义垂直半径
    
     
     5、直线元素
    
            颜色必须得加
    
            <line x1="10" y1="10" x2="200" y2="200" stroke-width="10" stroke="black">
    
    
     6、 折线元素
    
            points - 设置起点 折点及重点,x和y用逗号分隔,多个折点用空格隔开
    
            会默认将折线中的区域(起点到终点),默认提供黑色,将fill设置为canvas的颜色,将stroke设置为另一种颜色
    
            <polyline points="">
    
      5、 多边形元素
          
            不用考虑折点的显示问题
            <polygon points="">
    

    二、SVG-渐变

    1、 设置线性渐变步骤

       1)创建SVG元素
    
          <svg></svg>
    
       2)在svg里追加defs元素
    
          <svg>
             <defs></defs>
          </svg>
    
       3)在defs里追加linearGradient元素,他才是真正实现渐变的元素
          
          <svg>
             <defs>
    
               <linearGradient x1="" y1="" x2="" y2=""></linearGradient>
    
             </defs>
          </svg>
    
          x1、y1:起点坐标值
          x2、y2:终点坐标值
    
          注意: 这四个值都是百分比
    
       4)在linearGradient里面追加stop元素,stop元素真正设置渐变颜色
    
           <svg>
             <defs>
               <linearGradient>
                  
                  <stop offset="" stop-color="" stop-opacity="">
                  <stop offset="" stop-color="">
    
               </linearGradient>
             </defs>
          </svg>
    
          offset: 值为百分比
          stop-color:设置渐变颜色
          stop-opacity:设置渐变颜色的透明度
    
       5)在defs下面追加<rect>,画出图形,并将上面设置的线性渐变,添加到矩形中
    
          使用fill属性,值为url(#渐变元素的id值)
    
          <rect x="0" y="0" width="400" height="400" fill="url(#def)">
    

    2、 扇形渐变radialGradient,参考线性渐变

    三 、SVG-高斯模糊效果

     <svg width="500" height="500"> 
       <defs> 
          <filter id="Gaussian_Blur">
                //fegaussianblur- 高斯模糊,stdDeviation - 设置模糊程度 
                <feGaussianBlur in="SourceGraphic" stdDeviation="3" />
          </filter>
       </defs
       <rect x="0" y="0" width="400" height="400" filter="url(#Gaussian_Blur)">
     </svg>
    
     滤镜使用filter元素
     in="SourceGraphic" - 固定写法

    相关文章

      网友评论

          本文标题:使用svg绘制图形,实现渐变效果以及模糊效果

          本文链接:https://www.haomeiwen.com/subject/bzhzmttx.html