Как повернуть / преобразовать QMovie в C++
Я могу повернуть QPixmap
с таким кодом
QPixmap pix("img.jpg");
QMatrix rm;
rm.rotate(90);
pix = pix.transformed(rm)
как я могу сделать то же самое с QMovie
? Или как-то завернуть его в какой-то "контейнер" и повернуть этот "контейнер"?
1 ответ
Решение
Вы можете попробовать вращать кадр за кадром. Например:
m_movie = new QMovie(":/gif/tenor.gif");
connect(m_movie, SIGNAL(frameChanged(int)), this, SLOT(OnFrameChanged(int)));
ui->lblMovie->setMovie(m_movie);
m_movie->start();
И вращать каждый кадр при изменении кадра
void MainWindow::OnFrameChanged(int /*frame*/)
{
QPixmap pixmap = m_movie->currentPixmap();
QMatrix rm;
rm.rotate(90);
pixmap = pixmap.transformed(rm);
ui->lblMovRotated->setPixmap(pixmap);
}