首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何快速重新绘制QQuickItem?

如何快速重新绘制QQuickItem?
EN

Stack Overflow用户
提问于 2016-12-06 12:41:16
回答 1查看 1.7K关注 0票数 1

我有一个图像流,以YUY2格式。我想在QQuickItem上画这些图像,这样我就可以在QtQuick2中使用它了。

我对性能有一个问题,所以我的问题是用C++重新绘制QML对象的最快方法是什么?有什么专门用于渲染视频的对象吗?

我尝试的是创建一个继承QQuickPaintedItem的类。我已经将YUY2图像转换成RGBA8888格式,然后使用QImage加载它,然后使用QPainter绘制它。事实证明,如果QQuickPaintedItem是大的--例如大于1000x1000,那么它是没有效率的。更快的方法是将QImage转换为QPixmap,然后使用QPainter进行绘制。它现在有点好用,但也许有更快的方法?例如,图像的转换过程似乎太慢了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-21 15:02:00

我已经通过使用QQuickItem和定义的updatePaintNode函数( 库巴·奥伯氏病注释中的第一个想法)来实现这一点。

这个例子帮了我很多。在它中,NoisyNode类呈现背景(静态图像),Graph使用它。我已经把这两门课带到了我的项目中,并使它们适应了我的需要。我没有问题,显示1080x1920像素,30 had。正如我所理解的,为了显示视频,您最终需要将YUV转换为RGB,所以我马上就这样做了,并使用了RGBA像素数组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40995664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档