我想知道是否有办法确定 QImage
是否有效。我将该图像作为 pixmap 显示在 QLabel
中,但有时当图像无效时,它不会显示在 QLabel
中。
有时图像无效的原因是从外部数据加载图像,而该数据有时可能会损坏。
因此,我希望知道是否可以实际确定 QImage
是否有效。
由于加载图像的返回值是布尔类型,如果加载不成功,则返回false,您可以从数据中检查图像加载的返回值。
以下是相关文档的摘录:
bool QImage::load(const QString & fileName, const char * format = 0)
从给定的文件名fileName加载图像。如果图像成功加载,则返回true;否则使图像无效并返回false。
如果您从文件或其他设备加载图像,甚至可以使用QImageReader
。它有一个专用错误枚举以进行精细调整。您还可以查询errorString()。
话虽如此,如果出于某种原因您想继续使用QImage,尽管加载不成功,您可以通过以下方法稍后检查图像的有效性:
如果图像为空,则返回true,否则返回false。
空图像的所有参数都设置为零且没有分配数据。
如果加载图像时出现故障,它将不包含任何数据,因此您可以使用以下方法进行检查:
image.isNull()