我正在尝试使用C++中的QWidgts将图像围绕QT的原点(中心)旋转。我在这里做了很多实验,但是无论我做什么,图像都会围绕我不知道的任意位置旋转。请在这里帮助我。我是QT新手。
void gaugeWithRedZoneImage::rotate()
{
QPixmap pixmap(*gaugeMainScreen->pixmap());
QMatrix rm;
rm.translate(0, 0);
rm.rotate(-360);
pixmap = pixmap.transformed(rm);
gaugeMainScreen->setPixmap(pixmap);
/*QTransform rotate_disc;
rotate_disc.translate(pixmap.width()/2.0 , pixmap.height()/2.0);
rotate_disc.rotate(-60);
rotate_disc.translate(-(pixmap.width()/2.0) , -(pixmap.height()/2.0));
pixmap = pixmap.transformed(rotate_disc);
gaugeMainScreen->setPixmap(pixmap);*/
}
最佳答案
形成QPixmap::transformed()
的documentation:
这意味着该方法可确保通过附加 Canvas 不会发生剪切。无论旋转中心是什么, Canvas 的自动扩展几乎总是会导致感知到的移位。
图像示例可能有助于进一步诊断问题。
关于c++ - 如何在QT Widgets C++中围绕其中心旋转图像?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36265309/