30 lines
847 B
C++
30 lines
847 B
C++
#include "VideoFrameProvider.h"
|
|
|
|
VideoFrameProvider::VideoFrameProvider()
|
|
: QQuickImageProvider(QQuickImageProvider::Image), m_image(1280, 720, QImage::Format_RGB32) {
|
|
m_image.fill(Qt::black);
|
|
}
|
|
|
|
QImage VideoFrameProvider::requestImage(const QString &id, QSize *size, const QSize &requestedSize) {
|
|
Q_UNUSED(id);
|
|
if (id == "black") {
|
|
m_image.fill(Qt::black);
|
|
}
|
|
|
|
if (size) *size = m_image.size();
|
|
|
|
if (requestedSize.width() > 0 && requestedSize.height() > 0)
|
|
return m_image.scaled(requestedSize.width(), requestedSize.height(), Qt::KeepAspectRatio);
|
|
|
|
return m_image;
|
|
}
|
|
|
|
void VideoFrameProvider::setImage(const QImage &image) {
|
|
m_image = image;
|
|
}
|
|
|
|
void VideoFrameProvider::reset() {
|
|
m_image = QImage(1280, 720, QImage::Format_RGB32);
|
|
m_image.fill(Qt::black);
|
|
}
|