QPixmap Поворот по оси x

Я хочу повернуть растровое изображение от его оси x, но оно просто вращается из верхнего левого угла (я хочу, чтобы оно было повернуто из центра), вот мой код:

QTransform *X = new QTransform();
X->translate(pixmap().size().width() / 2, pixmap().size().height() / 2);
X->rotate(rtn, Qt::XAxis); //rtn is an angle
setTransform(*X);

Кажется, что метод перевода не меняет исходную точку на центр моего растрового изображения. Теперь мне нужна помощь в решении этой проблемы.


person Kian Ahrabian    schedule 19.07.2015    source источник


Ответы (1)


хорошо, проблема была в том, что я не перевел свое преобразование обратно после метода поворота, это правильный поворот от центра по оси x:

setTransform(QTransform().translate(pixmap().size().width() / 2, pixmap().size().height() / 2).rotate(rtn, Qt::XAxis).translate(-pixmap().size().width() / 2, -pixmap().size().height() / 2));
person Kian Ahrabian    schedule 19.07.2015