尝试调整图片大小:
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);
在此发布,因为精彩的反思让我思考。
答案 0 :(得分:12)
解决方案:
QImage small = jpgImage->scaled(inputWidth.toUInt(), inputHeight.toUint,Qt::KeepAspectRatio);
答案 1 :(得分:0)
当需要使用Qt5缩放窗口时发现了这个问题。
QImage small = jpgImage->scaled(size());
比建议的解决方案好得多,因为size()仅考虑了可用区域。相反,使用height()
和width()
似乎没有考虑边框/菜单区域中使用的像素。