【发布时间】:2016-07-06 17:49:38
【问题描述】:
我有 3 个 1024x512 的 QLabels(作为 QPixmaps)。底层接收 RGB 数据流,第二层接收 RGBA 数据流(所以不透明度可以调低看到底层),最后第三层是要绘制的标注叠加层。我正在尝试在通话时创建用户当前在窗口(而不是全屏)中查看的内容的保存图像。任何帮助或向下看的指示(类、成员、示例等)将不胜感激。
【问题讨论】:
-
我假设所有 3 个
QLabels 都在同一个QWidget父级下(可能使用QStackedWidget或QStackedLayout)?如果是这样,可能值得关注QWidget::render。 -
我匹配了所有 3 个的 x-y 位置,以便每个标签在主窗口上彼此正对。 QScreen 类成员 grabWindow(WId,x,y,w,h) 为我想要做的事情工作。
-
这里的概念是将 IR(顶部标签)中的检测覆盖在可见光谱(基本标签)上。我去掉了最上面的标签,并使用一种多边形形式来选择和隔离视图上的区域(点没有直接在标签之间映射,我太懒了,所以只有绝对重叠)。
标签: qt screenshot rgb rgba qpixmap