intercept

intercept 属性定义了当 type 属性设置为 linear 时颜色分量传递线性函数的截距。

线性函数定义为 slope * color + intercept,其中 color 是颜色值,intercept 为结果提供一个基值,slope 是一个缩放因子。

intercept 属性受 <feComponentTransfer> 滤镜原语的子元素支持,并在 type="linear" 设置时与以下 SVG 分量传递函数元素一起使用

使用说明

<number>
默认值 0
可动画
<number>

此值指示线性分量传递函数的截距。

示例

html
<svg viewBox="0 0 420 200" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <linearGradient
      id="gradient"
      gradientUnits="userSpaceOnUse"
      x1="0"
      y1="0"
      x2="200"
      y2="0">
      <stop offset="0" stop-color="#ff0000" />
      <stop offset="0.5" stop-color="#00ff00" />
      <stop offset="1" stop-color="#0000ff" />
    </linearGradient>
  </defs>

  <filter id="componentTransfer1" x="0" y="0" width="100%" height="100%">
    <feComponentTransfer>
      <feFuncR type="linear" intercept="0" />
      <feFuncG type="linear" intercept="0" />
      <feFuncB type="linear" intercept="0" />
    </feComponentTransfer>
  </filter>
  <filter id="componentTransfer2" x="0" y="0" width="100%" height="100%">
    <feComponentTransfer>
      <feFuncR type="linear" intercept="0.3" />
      <feFuncG type="linear" intercept="0.1" />
      <feFuncB type="linear" intercept="0.8" />
    </feComponentTransfer>
  </filter>

  <rect
    x="0"
    y="0"
    width="200"
    height="200"
    fill="url(#gradient)"
    style="filter: url(#componentTransfer1);" />
  <rect
    x="0"
    y="0"
    width="200"
    height="200"
    fill="url(#gradient)"
    style="filter: url(#componentTransfer2); transform: translateX(220px);" />
</svg>

规范

规范
滤镜效果模块级别 1
# element-attrdef-fecomponenttransfer-intercept

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。