美文网首页
SVG 滤镜feImage

SVG 滤镜feImage

作者: CODERLIHAO | 来源:发表于2020-04-03 21:52 被阅读0次
<svg width="360" height="220">
    <defs>
        <filter id="f">
            <feImage xlink:href="http://www.oxxostudio.tw/img/articles/201410/20141003_1_demo.jpg"/>
        </filter>
    </defs>
    <rect x="30" y="30" width="150" height="150" filter="url(#f)" />
    <rect x="30" y="30" width="150" height="150" stroke="#00f" fill="none" />
    <rect x="0" y="0" width="360" height="220" stroke="#000" fill="none" stroke-width="2" />
</svg>
image.png

primitiveUnits

  • userSpaceOnUse
    如果primitiveUnits属性未指定,那么效果就如同指定值为userSpaceOnUse的效果是一样的
    <filter>元素使用该值的时候,过滤器中定义的任意长度的值都基于当前用户坐标系统(例如通过filter元素作用是作为原子滤镜操作的容器。它不能直接呈现。可以利用目标SVG元素上的filter属性引用一个滤镜)元素的元素所在的用户坐标系统
<svg width="360" height="220">
    <defs>
        <filter id="f">
            <feImage xlink:href="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1585929853539&di=665e1f857db579293bb2edfc05859da5&imgtype=0&src=http%3A%2F%2Fimg32.photophoto.cn%2F20140816%2F0017030559136232_s.jpg"
                     x="0" y="0" width="100" height="100"/>
        </filter>
    </defs>
    <rect x="30" y="30" width="150" height="150" filter="url(#f)" />
    <rect x="30" y="30" width="150" height="150" stroke="#00f" fill="none" />
    <rect x="0" y="0" width="360" height="220" stroke="#000" fill="none" stroke-width="2" />
</svg>
image.png
  • objectBoundingBox
    在filter中定义的任意长度值表示引用该filter的元素的包围盒的分数或百分比.
    什么意思呢,如果使用objectBoundingBox,此时width和height的数值就是比例,这里的rect尺寸是150px的,width=1表示150*1 = 150px,如果width=0.5 就是75px
<svg width="360" height="220">
    <defs>
        <filter id="f" primitiveUnits="objectBoundingBox" >
            <feImage xlink:href="http://www.oxxostudio.tw/img/articles/201410/20141003_1_demo.jpg"
                     x="0" y="0" width="1" height="1"/>
        </filter>
    </defs>
    <rect x="30" y="30" width="150" height="150" filter="url(#f)" />
    <rect x="30" y="30" width="150" height="150" stroke="#00f" fill="none" />
    <rect x="0" y="0" width="360" height="220" stroke="#000" fill="none" stroke-width="2" />
</svg>
image.png
<svg width="360" height="220">
  <defs>
      <filter id="f" primitiveUnits="objectBoundingBox" >
          <feImage xlink:href="http://www.oxxostudio.tw/img/articles/201410/20141003_1_demo.jpg"
                   x="0.5" y="0.1" width="1" height="1"/>
      </filter>
  </defs>
  <rect x="30" y="30" width="150" height="150" filter="url(#f)" />
  <rect x="30" y="30" width="150" height="150" stroke="#00f" fill="none" />
  <rect x="0" y="0" width="360" height="220" stroke="#000" fill="none" stroke-width="2" />
</svg>
image.png

参考

相关文章

  • SVG 滤镜feImage

    primitiveUnits userSpaceOnUse如果primitiveUnits属性未指定,那么效果就如...

  • SVG 滤镜

    本节我们学习 SVG 中滤镜,SVG 滤镜是滤镜中的一个类型,用来向形状和文本添加特殊的效果。 SVG的可用滤镜 ...

  • SVG 滤镜

    SVG 滤镜用来向形状和文本添加特殊的效果。 在 SVG 中,可用的滤镜有: feBlend feColorMat...

  • 第一章 d3基础概念

    svg基础 滤镜 渐变

  • SVG 滤镜

    http://www.w3cplus.com/svg/why-the-svg-filter-is-awesome....

  • SVG滤镜:feColorMatrix

    颜色滤镜就是用来对原图的每个像素点的RGBA颜色进行处理生产新的RGBA颜色.元素通常有两个属性:type和val...

  • 使用SVG Filter 制作粘滞(Gooey)的效果笔记思路

    学习前提知识: 1. SVG滤镜 2. 颜色矩阵滤镜 ColorMatrix 2.1 矩阵 你需要知道矩阵之间是如...

  • SVG基础之内部元素

    说明:SVG概念,元素样式设置等请查看SVG基础 目录 图形元素 文字元素 特殊元素 滤镜元素【需完善】 渐变元素...

  • svg滤镜---颜色矩阵

    ColorMatrixFilter色彩矩阵滤镜; 包 flash.filters类 public final cl...

  • SVG-滤镜与动画

    滤镜 剪切 渐变 线性渐变 径向渐变 遮罩 嵌入光栅图像 动画 SMIL Synchronized Multime...

网友评论

      本文标题:SVG 滤镜feImage

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