【问题标题】:QNX 6.5.0 grab screen or window Qt C++QNX 6.5.0 抓取屏幕或窗口 Qt C++
【发布时间】:2018-12-14 14:31:13
【问题描述】:

我需要在 QNX 6.5.0 中抓取屏幕或窗口 - 每秒 8 次。如果使用标准的低级 API 函数 PgReadScreen(),对于分辨率为 1920x1080(24 位)的屏幕,它的速度非常慢......当创建上下文 PdCreateDirectContext() 时,驱动程序会阻止所有其他绘画。它会冻结屏幕几秒钟。

我也查看了区域,但据我了解,它们不包含窗口的图形数据?

使用了 Qt 5.7.1 并减少了功能。比如grabWindow()函数没有实现。

好主意:使用小部件的 render() 函数,但有些对象...例如:组合框列表也是小部件。我也得跟着画。

有什么想法吗?

【问题讨论】:

    标签: c++ qt qnx


    【解决方案1】:

    抓取窗口非常简单。顶级QWidget (widget.isWindow()==true) 由QImage 后备存储支持。获取它不需要重新绘制或调用 OS API。 This answer 有一个可行的、大部分完整但简单的实现这个想法。只要使用光栅后端,它就应该可以移植到任何平台和任何小部件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-13
      • 2010-12-23
      • 1970-01-01
      • 2011-02-20
      相关资源
      最近更新 更多