web技术分享| css filter和getUserMedia的联合使用


设置CSS3 filter(滤镜) 属性

  • filter 属性定义了元素(通常是)的可视效果(例如:模糊与饱和度)。
    • blur(px) 给图像设置高斯模糊。"radius"一值设定高斯函数的标准差,或者是屏幕上以多少像素融在一起, 所以值越大越模糊;

    • grayscale(%) 将图像转换为灰度图像。值定义转换的比例。值为100%则完全转为灰度图像,值为0%图像无变化。值在0%到100%之间,则是效果的线性乘子。若未设置,值默认是0;

    • invert(%) 反转输入图像。值定义转换的比例。100%的价值是完全反转。值为0%则图像无变化。值在0%和100%之间,则是效果的线性乘子。 若值未设置,值默认是0。

    • sepia(%) 将图像转换为深褐色。值定义转换的比例。值为100%则完全是深褐色的,值为0%图像无变化。值在0%到100%之间,则是效果的线性乘子。若未设置,值默认是0;

```css
.none {
    -webkit-filter: none;
    filter: none;
}

.blur {
    -webkit-filter: blur(3px);
    filter: blur(3px);
}

.grayscale {
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
}

.invert {
    -webkit-filter: invert(1);
    filter: invert(1);
}

.sepia {
    -webkit-filter: sepia(1);
    filter: sepia(1);
}

button#snapshot {
    margin: 0 10px 25px 0;
    width: 110px;
}

video {
    object-fit: cover;
}


## 获取元素

- 该`Document`方法`querySelector()`, 返回`Element`文档中与指定选择器或选择器组匹配的第一个。如果未找到匹配项,`null`则返回。

- 匹配是使用文档节点的深度优先预序遍历完成的,从文档标记中的第一个元素开始,并按子节点数量的顺序迭代顺序节点。

const filterSelect = document.querySelector('select#filter');
const video = window.video = document.querySelector('video');



## 绑定change事件

- 当元素的值发生改变时,会发生 onchange 事件。

- 该事件类似于 oninput 事件。不同之处在于 oninput 事件在元素值改变后立即发生,而 onchange 在元素失去焦点而内容发生改变后发生。另一个区别是 onchange 事件也适用于 `
    
    
    
    
    





效果展示

Y53NPR3V2ZE0C_ZWNWYV1N.png

@(@Y4AGL~6{(Y@1YU_5I77X.png

2E3_U6733K$K8P%3IJ0M~5G.png

P5AW)32%9}C)L8$6X2FMOW.png