我试图在浏览器中的网络摄像头上放置一个覆盖层,其中有一个圆形透明孔。像这样的东西:- https://i.stack.imgur.com/HnDLY.png
我尝试了以下解决方案:-
使用 svg 掩码创建了一个 svg 图标,但是我无法使用此解决方案针对不同的浏览器大小实现响应。相关代码笔链接。
**JS**
const svgIcon = () => (
<svg className="svg" viewbox="0 0 100 100" width="100%" height="100%">
<defs>
<mask id="mask" x="0" y="0" width="3000" height="3000">
<rect x="0" y="0" width="3000" height="3000" fill="#fff"/>
<circle cx="250" cy="200" r="110" />
</mask>
</defs>
<rect x="0" y="0" width="3000" height="3000" mask="url(#mask)" fill-opacity="0.9"/>
</svg>
);
const App = () => (
<div className="app">
<Webcam id="webcam" audio={false}/>
{svgIcon()}
</div>
);
ReactDOM.render(
<App />,
document.getElementById('root')
);
**CSS**
.app {
position: relative;
float: left;
}
.svg {
position: absolute;
left: 0px
}
#webcam {
width:500px;
height:400px;
}
#mask {
position: absolute;
}
**HTML**
<div id="root"></div>
翻过高山走不出你
相关分类