SVGFEDisplacementMapElement: xChannelSelector 属性

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

SVGFEDisplacementMapElement 接口的只读属性 xChannelSelector 反映了给定 <feDisplacementMap> 元素的 xChannelSelector 属性。它接受此接口上定义的 SVG_CHANNEL_* 常量之一。

一个 SVGAnimatedEnumeration 对象。

示例

访问 xChannelSelector 属性

在此示例中,<filter> 中定义的 <feDisplacementMap> 元素包含 xChannelSelector 属性。

html
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <filter id="displacementFilter">
      <!-- Displacement Map with xChannelSelector set to Red Channel -->
      <feDisplacementMap in="SourceGraphic" scale="20" xChannelSelector="R">
        <feFuncR type="table" tableValues="0 1" />
      </feDisplacementMap>
    </filter>
  </defs>
  <rect
    x="20"
    y="20"
    width="100"
    height="100"
    fill="red"
    filter="url(#displacementFilter)" />
</svg>

我们可以访问 xChannelSelector 属性并获取其值

js
const displacementMap = document.querySelector("feDisplacementMap");

console.log(displacementMap.xChannelSelector.baseVal); // Output: 1 (SVG_CHANNEL_R)

规范

规范
滤镜效果模块第 1 级
# dom-svgfedisplacementmapelement-xchannelselector

浏览器兼容性

另见