如果在旋转 QPixmap 时出现左右晃动的问题,可能是由于旋转中心点不正确导致的。当你使用 QPainter
绘制旋转后的 QPixmap 时,确保你已经设置了正确的旋转中心点。可以通过 QPainter::translate()
方法将坐标系移动到需要旋转的位置,并且使用 QPainter::rotate()
方法指定旋转角度。
下面是一个示例代码片段,展示如何正确地绘制旋转后的 QPixmap:
// 创建 QPixmap 对象
QPixmap pixmap(":/path/to/image.png");
// 设置绘制参数
int rotationAngle = 45; // 旋转角度
// 创建 QPainter 对象,并指定绘制设备为 pixmap
QPainter painter(&pixmap);
// 设置绘制参数
painter.translate(pixmap.width() / 2, pixmap.height() / 2); // 将坐标系移到图片中心点
painter.rotate(rotationAngle); // 指定旋转角度
// 在新坐标系下进行绘制操作
painter.drawPixmap(-pixmap.width() / 2, -pixmap.height() / 2, pixmap);
// 结束绘制操作
painter.end();
确保在进行旋转时,设置了正确的旋转中心点和相应的坐标偏移量。这样可以避免出现左右晃动的问题。
内容由零声教学AI助手提供,问题来源于学员提问