无法设置 React 网络摄像头高度

发布于 2025-01-17 15:01:59 字数 1427 浏览 0 评论 0原文

我尝试使用“%”(尝试从JS页面和CSS设置)设置网络摄像头高度。

              <div>
                {!imgSrc && <div>                      
                <>
                    {/* className="video-stream" */}
                    <Webcam width={100 + '%'}    // height={50 + '%'} does not work
                            audio={false}
                            ref={webcamRef}
                        screenshotFormat="image/jpeg"
                       // forceScreenshotSourceSize="true"
                            videoConstraints={{
                                ...videoConstraints,
                                facingMode
                            }}
                        />
                    </>
                   
                    <Grid container={true} justifyContent='center' alignItems='center' spacing={1}>                       
                        <button onClick={capture}> Capture </button>
                </Grid>
              </div>}

CSS:

在CSS中,当我在像素中设置时,它可以在桌面上工作,但不能应用于移动设备。任何输入都将不胜感激。

用于移动和桌面:

 @media only screen and (min-width: 360px) and (max-width: 750px) {
    .video-stream {
        height: 210px;
        /* width: 290px; */
    }
 }
@media only screen and (min-width: 751px) {
    .video-stream {
        height: 400px;
       /* width: 530px; */
   }
}

I tried to set webcam height as below using '%' (tried setting both from js page and from css).

              <div>
                {!imgSrc && <div>                      
                <>
                    {/* className="video-stream" */}
                    <Webcam width={100 + '%'}    // height={50 + '%'} does not work
                            audio={false}
                            ref={webcamRef}
                        screenshotFormat="image/jpeg"
                       // forceScreenshotSourceSize="true"
                            videoConstraints={{
                                ...videoConstraints,
                                facingMode
                            }}
                        />
                    </>
                   
                    <Grid container={true} justifyContent='center' alignItems='center' spacing={1}>                       
                        <button onClick={capture}> Capture </button>
                </Grid>
              </div>}

Css:

Here in css, when I set in pixel, it works on desktop but doesn't get applied for mobile. Any input would be appreciated.

For mobile and desktop:

 @media only screen and (min-width: 360px) and (max-width: 750px) {
    .video-stream {
        height: 210px;
        /* width: 290px; */
    }
 }
@media only screen and (min-width: 751px) {
    .video-stream {
        height: 400px;
       /* width: 530px; */
   }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别把无礼当个性 2025-01-24 15:01:59

您可以向网络摄像头组件添加 className 并在 css 文件中使用 %,然后根据需要将像素大小添加到父元素。例如,如果我将网络摄像头组件包装在 div 元素中,它可能类似于:

<div  className="video-stream">
          <Webcam
            className="webcam"
            audio={false}
            ref={webcamRef}
            screenshotFormat="image/jpeg"
          />
      </div> 

在 css 文件中:

.webcam{
  width: 100%;
  height: 100%;
}

You can add a className to the Webcam component and use % in the css file, then add the pixel size to a parent element according to your needs. For example if I wrap the Webcam component in a div element it can be something like:

<div  className="video-stream">
          <Webcam
            className="webcam"
            audio={false}
            ref={webcamRef}
            screenshotFormat="image/jpeg"
          />
      </div> 

in the css file:

.webcam{
  width: 100%;
  height: 100%;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文