Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

поворот картинок в Qt

15K
26 ноября 2007 года
kernel2.6
39 / / 06.07.2007
Как реализовать поворот картинок Qt. Какой класс использовать или хотя бы как это вручную реализовать? Нужно реализовать поворот изображение вокргу опорной точки. Тобишь не обязательно разворот должен просиходить вокруг центральной точки.

ЗЫ не нашел раздела где бы осуждался куте надеюсь эта ветка подойдет)
361
26 ноября 2007 года
Odissey_
661 / / 19.09.2006
Смотри что такое матрица поворота и метод transformed (который есть не только у QPixmap). Для создания матрицы поворота смотри метод rotate у QMatrix. Ну и assistant в помощь (в моем есть подробное описание).
15K
27 ноября 2007 года
kernel2.6
39 / / 06.07.2007
Привязку поворота так и не смог реализовать.
Ипользую класс QImage в доках Qt там указано существавание двух следующих функций:
 
Код:
QImage transformed ( const QMatrix & matrix,
Qt::TransformationMode mode = Qt::FastTransformation ) const
QImage transformed ( const QTransform & matrix, Qt::TransformationMode mode = Qt::FastTransformation ) const


На http://doc.trolltech.com/4.0/qimage.html нашел только первую из двух функций.

В доках что у меня по поводу второй функции сказано:
This is an overloaded member function, provided for convenience.
Такое впечатление что она из QTransform берет тока QMatrix.

Ну это и логично перемножить матрицу 3x3 и 2x1 невозможно, ну или он берет в векторе координат z = 0.

http://doc.trolltech.com/4.3/qtransform.html
в пункте Basic Matrix Operations описано вообщем как и чего перемножается. Но сейчас пока чет не выходит придумать матрицу так чтобы было смещение координатной системы в рисунке. тобишь чтобы поворот был относительно точки рисунка. а не относительно угла изображения.

Если есть идеи по поводу матрици, поделитесь. Всем заранее спасибо.
15K
27 ноября 2007 года
kernel2.6
39 / / 06.07.2007
Вопрос снят. просто 3 часа ночи) Сперва матрица смещения, потом поворота. и никаких проблем=)
15K
27 ноября 2007 года
kernel2.6
39 / / 06.07.2007
Не заработало, смещение отказывается работать.
 
Код:
mt = mt.translate(20,139);// mt матрица трансформации
pm = pm.transformed(mt,Qt::FastTransformation);//pm имейдж
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог