QT:使用缩放调整QImage的大小

时间:2012-03-06 05:50:57

标签: qt

尝试调整图片大小:

size_t targetWidth = funnyImage.get_width();
size_t targetHeight = funnyImage.get_height();
QString inputWidth = 400;
QString inputHeight = 900;

QImage *jpgImage = new QImage(targetWidth, targetHeight, QImage::Format_RGB32);

QImage small = jpgImage->scaled(inputWidth, inputHeight,Qt::KeepAspectRatio);

我收到此错误:

cpp:125:错误:没有匹配函数来调用'QImage :: scaled(QString&,QString&,Qt :: AspectRatioMode)'

  

解:       QImage small = jpgImage-> scaled(inputWidth.toUInt(),inputHeight.toUint,Qt :: KeepAspectRatio);

在此发布,因为精彩的反思让我思考。

2 个答案:

答案 0 :(得分:12)

解决方案:

QImage small = jpgImage->scaled(inputWidth.toUInt(), inputHeight.toUint,Qt::KeepAspectRatio);

答案 1 :(得分:0)

当需要使用Qt5缩放窗口时发现了这个问题。

QImage small = jpgImage->scaled(size());

比建议的解决方案好得多,因为size()仅考虑了可用区域。相反,使用height()width()似乎没有考虑边框/菜单区域中使用的像素。