Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Noran от Март 15, 2013, 21:55



Название: Проблема с поворотом изображения
Отправлено: Noran от Март 15, 2013, 21:55
В общем есть код
Код:
#include <qapplication>
#include <qpixmap.h>
#include <qlabel.h>
#include <qwidget.h>
#include <qmainwindow.h>

int main(int argc, char *argv[])
{
  QApplication app(argc, argv);
  QWidget window;
  window.setFixedSize(800,600);
  QPixmap pix_1;
  pix_1.load("C:/Projects/w1/tank_1.png");
  QLabel tank_1(&window);
  tank_1.setPixmap(pix_1);
  tank_1.move(0,0);
  window.show();
  tank_1.show();
  return app.exec();
}
В общем надо реализовать поворот картинки. Пробовал писать tank_1.scroll(); или pix_1.scroll(); изображение остаётся неизменным. Как реализовать поворот?
P.S. Изображение круглое.
P.P.S Координаты изображения задаются верхним левым углом, это довольно неудобно, тем более, что изображение в ворме круга. Можно ли сделать так, чтобы координаты задавались центром изображения?


Название: Re: Проблема с поворотом изображения
Отправлено: Bepec от Март 15, 2013, 21:57
Ты уже повзрослел, Noran. Я тебе вручаю световой меч знание об афинных преобразованиях :D


Название: Re: Проблема с поворотом изображения
Отправлено: Noran от Март 15, 2013, 22:07
Спасибо, Верес, но световой меч, очевидно, был бы лучше :)
Можно немного поподробнее? Насколько я понял, это - равномерное растягивание(сжатие)... Но как это относится к повороту? Очевидно, я ещё не достаточно повзрослел... :-X


Название: Re: Проблема с поворотом изображения
Отправлено: gil9red от Март 15, 2013, 22:32
Не световой меч, но близкое:
  • есть класс QMatrix с методом rotate() и его можно использовать вместе с QPixmap::transformed()
  • есть класс QPainter и у него тоже есть метод rotate()

первые ссылки гугла: http://bit.ly/ZbYtpn  :)


Название: Re: Проблема с поворотом изображения
Отправлено: lesav от Март 16, 2013, 09:18
http://www.prog.org.ru/index.php?topic=19094.msg128753#msg128753