【发布时间】:2015-04-08 05:44:39
【问题描述】:
我有一个经过分布式总线的解码视频帧。目前,我正在使用一个 QLabel,它通过Qt Signal/Slot 接收帧缓冲区并将其设置为像素图。
void VideoViewer::slot_update_view( unsigned char* frame, QSize size )
{
QImage img( frame, size.width(), size.height(), QImage::Format_RGB888 );
_label->setPixmap( QPixmap::fromImage( img ).scaledToWidth( width(), Qt::SmoothTransformation ) );
}
这行得通,但使用 QLabel 感觉很笨拙。有更好的解决方案吗?最后,我想在视频上作画。
【问题讨论】:
-
您可以创建一个只绘制图像的小部件,可能使用 OpenGL(使用 Qt 很容易)来提高性能,如果需要缩放,还可以提高质量。