如何检查QImage是否有效?

Mis*_*tyD 11 c++ qt qtgui qimage

我想知道是否有办法确定a QImage是否有效.我将该图像显示为像素图QLabel,有时在图像无效时显示.那时它没有显示出来QLabel.

有时无效的原因是图像是从外部数据加载的,有时数据可能会被破坏.

因此,我想知道是否有可能实际确定a QImage是否有效.

lpa*_*app 13

您可以检查从数据加载的图像的返回值,因为它是一个布尔返回值,并且当加载不成功时它将为false.

以下是为方便起见的内联文档的相关部分:

bool QImage :: load(const QString&fileName,const char*format = 0)

使用给定的fileName从文件加载图像.如果图像成功加载,则返回true; 否则使图像无效并返回false.

QImageReader如果您碰巧从文件或其他设备加载,您甚至可以使用.它具有用于微调的专用错误枚举.您也可以按原样查询errorString().

话虽如此,如果由于某种原因你想继续QImage尽管加载不成功,你可以通过以下方法检查图像有效性:

bool QImage :: isNull()const

如果它是空图像,则返回true,否则返回false.

空图像将所有参数设置为零并且没有分配的数据.