【问题标题】:QImage::scaleHeight transformation mode returning NULL imageQImage::scaleHeight 转换模式返回 NULL 图像
【发布时间】:2014-01-16 06:32:10
【问题描述】:

我正在尝试将图像大小调整为 120X240。

image = image.scaledToHeight(120);
image = image.scaledToWidth(240);

对于某些尺寸为 837x630 的图像,会出现错误,

QImage::scaleHeight: Image is a null image
QImage::scaleWidth: Image is a null image

一些图像缩放正确,尺寸几乎相同(837X 642) 这些错误的原因是什么..有些图像可以正确缩放而有些不是..为什么?

【问题讨论】:

  • 我们可以看看你是如何初始化image的吗?
  • QString lPath =(QString) GPathAlphabets.c_str(); lPath.append("/").append(pAlphabetFilePath); QImage image(lPath);

标签: c++ qt scaling qtgui qimage


【解决方案1】:

QImage 的构造函数以某种方式构造了一个空图像。您应该处理QImage::isNull 发生这种情况的情况:

if (image.isNull())
    // throw error

你也应该这样做:

image = QImage(image.scaled(240, 120));

改为。

【讨论】:

  • 如果给定的高度/宽度为零或负数,只有在那个时候它必须返回 NULL 图像。但在我的情况下,图像具有有效的高度和宽度..
  • @user3167959,我的意思是image 在函数调用时已经是一个空图像来缩放它。
猜你喜欢
  • 2013-12-28
  • 2018-01-16
  • 2018-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多