Эта часть решается
Я хочу вынести QGraphicsScene с QGraphicsVideoItem в QImage. Все работает, когда QGraphicsScene имеет только QGraphicsTextItem. Однако, если я заменю QGraphicsTextItem на QGraphicsVideoItem, он не сможет получить правильный вывод изображения. Как это исправить? Спасибо ... следующие коды должны проверить эту проблему.Оказание QGraphicsScene с QGraphicsVideoItem в QImage
#include <QApplication>
#include <QGraphicsScene>
#include <QMediaPlayer>
#include <QGraphicsVideoItem>
#include <QImage>
#include <QGraphicsView>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QGraphicsScene scene;
/* part 1. videoItem */
QMediaPlayer* videoPlayer = new QMediaPlayer;
QGraphicsVideoItem* screen = new QGraphicsVideoItem;
videoPlayer->setVideoOutput(screen);
scene.addItem(screen);
videoPlayer->setMedia(QUrl::fromLocalFile("./data/Taylor Swift - Blank Space.mp4"));
videoPlayer->play();
videoPlayer->setVolume(100);
/* part 2. textItem */
/*QGraphicsScene scene;
QGraphicsTextItem* text = new QGraphicsTextItem("aaaaaaa");
scene.addItem(text);*/
QGraphicsView view(&scene);
view.resize(1920, 1080);
view.show();
videoPlayer->pause();
QImage image(1920, 1080, QImage::Format_ARGB32);
image.fill(Qt::blue);
QString pngName = "scene.png";
QPainter painter(&image);
painter.setRenderHint(QPainter::Antialiasing);
scene.render(&painter);
image.save(pngName);
return a.exec();
}
добавить следующее в .pro файле может помочь:)
QT += core gui
QT += core
#QT += 3d
QT += gui
QT += multimedia
QT += widgets
QT += multimediawidgets
новый вопрос
В моем проекте я хочу сделать видео в QGLView Window (Qt3D). Однако QGraphicsView и QGLView не могут быть отображены одновременно. Если я не использую метод show() QGLView, я могу получить видеокадры. Если я использую метод show() QGLView, я не могу получить правильные рамки ...
Итак, как я мог реализовать идею выше?
thx для вашего совета:) –
Если у вас есть новый вопрос, задайте новый вопрос. Меняя вопрос после ответа, можно избежать. Вы можете обратиться к своему старому вопросу, если новый квест является прямым продолжением его, конечно. – hyde