对于我的应用程序,我想连续显示图像。但是我发现我花了30毫秒将qimage转换为qpixmap。这影响了我的帧速率,所以我想找到更有效的方式来显示我的图像与QtGui。我可以使用哪种方法? 有人可以帮我吗?QImage到QPixmap很贵
0
A
回答
2
如果你很好的阅读了文档,一切都会被解释。
- QImage的是设计为IO处理,以及用于直接像素访问和操纵
- 的QPixmap被设计和用于在屏幕上显示
如果只负载图像,并显示它的图像优化(没有任何操纵你的图像),只需加载你的图像,并将其缓存为QPixmap。
但是,如果你做了这个操纵,那么你就无能为力。也许你可以尝试将图像直接绘制到小部件的QPainter。我不知道它是否比将图像转换为像素图并将其绘制为小部件更快。
0
我以前面临着类似的问题,我已经发现最好的解决方案是使用的而不是转换到QImage
一个QPixmap
的OpenGL (QOpenGLWidget
+ glDrawPixels()
)。
+0
谢谢。我会尝试这种方法 – betterorbest
0
您不必进行转换。确保该图像的格式为backing store,并且该widget上只有drawImage
。它尽可能快。
使用默认栅格后端,QPixmap
是围绕QImage
的非常薄的包装。只要图像格式正确,转换就无效。
为了得到QPixmap
兼容的格式,你可以使用下面的代码:
QImage::Format pixmapFormat() {
static auto format = QPixmap{1,1}.toImage().format();
return format;
}
相关问题
- 1. 移动QImage/QPixmap的色调
- 2. 加载NSImage到QPixmap或QImage中
- 3. QImage和QPixmap有什么区别?
- 4. HICON/HBITMAP到QIcon /的QPixmap/QImage的/任何与它
- 5. 是否class.getName()很贵?
- 6. 将HBITMAP转换为QImage而不使用QPixmap
- 7. 数(*)真的很贵吗?
- 8. Cookie是否写得很贵?
- 9. QPainter的QImage的到
- 10. 如何使QImage或QPixmap半透明 - 或为什么setAlphaChannel已过时?
- 11. css:无显示。这个很贵吗?
- 12. SQLite是CASE语句很贵吗?
- 13. Qt -QImage是否有将Qimage粘贴到另一个Qimage中的方法?
- 14. 转换的QPixmap到numpy的
- 15. C + + opencv垫到QPixmap错误
- 16. AVFrame到QImage内存泄漏
- 17. QBitmap的QPixmap
- 18. 反映QPixmap
- 19. QGraphicsTextItem的QPixmap
- 20. QPixmap和SVG
- 21. 移动一个的QPixmap到QGraphicsScene
- 22. 如何将信号附加到qPixmap?
- 23. 将边框添加到QPixmap中
- 24. QImage定义
- 25. QImage的创作
- 26. 实时QImage
- 27. 从QImage的
- 28. QPixmap的QML背景
- 29. Java列表v/s数据库列表哪一个很贵?
- 30. 将UILabel.attributedText设置为相同的值很贵?
谢谢您的建议。我似乎有一个印象,画家用图像绘制图像比较慢,但我会试试 – betterorbest
是的,用画家绘制QImage实际上比将其转换为QPixmap并绘制像素图(用Qt 5.4测试)要慢。 – Tomas