问:我如何调整图像大小并保持其比例?

时间:2013-10-31 19:40:59

标签: c++ image qt image-resizing

此Qt example显示如何调整对话框中包含的图像的大小,以便在调整对话框大小时,图像会相应地伸展。

如何以相同的方式调整图像大小,而不会扭曲图像/保持其比例相同?

当然如果对话框的宽高比与图像的宽高比不同,我会得到一个“灰色”区域。
我找到了Qt::KeepAspectRatio枚举,但没有找到使用它的函数。

更新:这是我正在尝试的代码:

QImage image(path);
QImage image2 = image.scaled(200, 200, Qt::KeepAspectRatio);
QLabel *plotImg = new QLabel;
plotImg->setScaledContents(true);
plotImg->setPixmap(QPixmap::fromImage(image2));

调整标签大小时,图像不会保持恒定的宽高比。重新调整后它会失去解决方案。

1 个答案:

答案 0 :(得分:16)

使用QImage::scaled功能。

QImage img("someimage.png");
QImage img2 = img.scaled(100, 100, Qt::KeepAspectRatio);

如果您需要QPixmapa function with the same name exists