QML如何将效果渲染到图像



QML中是否有方法将效果输出(例如Fastblur(渲染到外部图像?我想把它和视频输出一起使用,比如实时snapchat过滤器。

在我的应用程序中,相机提供视频输出,视频输出提供效果输出,但似乎没有API将效果渲染到图像。imageCapture摄影机组件仅在应用效果之前直接从摄影机捕捉帧。效果组件中没有将其渲染为外部图像的方法。

有办法做到这一点吗?

有一个grabToImage()方法可用于每个QML视觉项,它也适用于QtGraphicalEffects

虽然这不是很有效,但在大多数情况下它就足够了。请注意,它将保存单独的图像,但不适用于视频,虽然Qt本身可以对视频进行内部编码,但它并没有作为公共API提供任何单独帧的视频编码,因此,如果你想将效果输出保存为视频,你必须深入研究场景图,以实现更有效的帧捕获方法,并且利用一些第三方库来将帧编码为视频。

相关内容

  • 没有找到相关文章

最新更新