#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, поэтому выдает ошибку ниже. НО причина, по которой это произошло, заключается в том, что каким-то образом кажется, что где-то в приложении я пишу поверх этого файла, и он пуст, поэтому недопустимый формат является реальным:-( В любом случае — здесь нет проблем, извините. Орен