要在Qt中实现图像的缩放和旋转,可以使用QPixmap类提供的方法。以下是一些常用的方法:
- 缩放
// 获取原始图像
QPixmap originalPixmap("path/to/image.png");
// 缩放到指定大小
QPixmap scaledPixmap = originalPixmap.scaled(QSize(200, 200), Qt::KeepAspectRatio);
// 在QWidget或QLabel控件上显示缩放后的图像
ui->label->setPixmap(scaledPixmap);
在以上示例中,使用了scaled()函数将原始图像缩放到指定大小(这里是宽高都为200px),并保持其长宽比不变。
- 旋转
// 获取原始图像
QPixmap originalPixmap("path/to/image.png");
// 以某个角度旋转图像
QTransform transform;
transform.rotate(45); // 顺时针旋转45度
QPixmap rotatedPixmap = originalPixmap.transformed(transform);
// 在QWidget或QLabel控件上显示旋转后的图像
ui->label->setPixmap(rotatedPixmap);
在以上示例中,使用了transformed()函数将原始图像绕着左上角(默认)顺时针旋转了45度。您也可以通过设置第二个参数来改变旋转中心点。
注意:以上代码示例中,ui代表当前窗口或对话框的用户界面指针。




