【问题标题】:QT How to draw shapes over a continuosly refreshing QPixmapQT 如何在不断刷新的 QPixmap 上绘制形状
【发布时间】:2013-03-29 20:30:25
【问题描述】:

我正在使用 OpenCV 抓取视频帧并将它们转换为 QPixmap,并在 QLabel 上显示。在那之前,它就像一个视频播放器一样工作。

问题是,我想在视频上画一些图画。我尝试了几种方法,但都无法成功。

第一种方法:

将视频播放器放到表单中。在播放器上放置一个空小部件,并在空小部件的 paintEvent() 方法中绘制一些图形。没用。

第二种方法:

像第一种方法一样在视频播放器上放置一个空小部件,但在 QPixmap 上绘制图形,并将 QPixmap 设置为 QLabel,然后显示 QLabel。没用。

我可以暂时看到我绘制的形状。可能每当播放器接收到新帧时,它都会调用 update() 方法并覆盖我的形状。

第三种方法:

考虑在视频帧上绘制我的形状。但这样一来,我就得反复画,比如一秒钟画20次。因为我的绘图程序有点重,所以这种方法看起来不太好。

那么,在持续刷新的 QPixmap 系列视频上绘制图像的最佳方式是什么?

【问题讨论】:

    标签: qt video draw


    【解决方案1】:

    当我过去这样做时,我将像素图放在 QGraphicsScene 中,并将绘图放在 QGraphicsScene 中。分层和排序图层非常简单,重用绘图或转换旧绘图是小菜一碟。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多