我使用DirectX 9渲染摄像机流,但显示的流有点模糊,有点像灰色的覆盖层。当我将结果与VLC进行比较时,我便知道了。
我通过ffmpeg获取YUV数组,并使用Direct3DSurface9锁定矩形进行内存复制。复制后,我得到后缓冲并拉伸。最后介绍一下。
我尝试了D3DMATERIAL9,但对我没有影响。如果我没记错,则将材质效果用于顶点。然后尝试SetDeviceGammaRamp不再起作用。
这就是我创建曲面的方式
<div style="display:flex;">
<div>User ID</div>
<img style="margin-right:3px; align-self:center;" src="correct.png" />
</div>
<div><input type="text" name="fname"></div>
我从摄像机获取的流是YUV格式,但没有将其转换为RGB。 YUV格式为16-235。因此,我的程序显示颜色模糊。我通过ffmpeg更改了BGRA格式。这解决了我的问题。