QImage ::format дает мне QImage ::Format_Invalid при запуске в консольном приложении

#image #qt #console #format

#изображение #qt #консоль #формат

Вопрос:

У меня есть функция, которая отлично работает в приложении Qt, но при вызове из консольного приложения она завершается с ошибкой. Функция должна проверить, что файл изображения существует и может быть прочитан в удобном формате:

 void VerifyImageFormat(const QStringamp; ImageFile)
{
    if (ImageFile.isEmpty())
    {
        return;
    }
    QFile file(ImageFile);
    if(!file.exists())
    {
        QString Error("Failed to open image file ");
        Error  = ImageFile;
        throw Error.toStdString();
    }

    if(QImage(ImageFile).format() == QImage::Format_Invalid)
    {
        QString Error(ImageFile);
        Error  = " is of invalid image format.";
        throw Error.toStdString();
    }
}
  

Мне действительно нужна эта функциональность в моем консольном приложении — что мне делать?

Комментарии:

1. Что QImage(ImageFile).isValid() возвращается? Вы уверены, что можете загрузить изображение? Какой тип изображения: png, jpeg?

2. Связываете ли вы свое консольное приложение с модулем Qt Gui?

3. Прежде всего — спасибо за первый и быстрый ответ. Он выдал мне QImage::Format_Invalid, поэтому выдает ошибку ниже. НО причина, по которой это произошло, заключается в том, что каким-то образом кажется, что где-то в приложении я пишу поверх этого файла, и он пуст, поэтому недопустимый формат является реальным:-( В любом случае — здесь нет проблем, извините. Орен