| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Поддержка TGA в Qt |
| Автор: Jeka178RUS 14.8.2013, 15:34 |
| Сижу под виндой на Qt 4.8.4, с удивлением в папке с плагинами обнаружил модули для поддержки tga и решил проверить, QImageReader::supportedImageFormats() выдает ("bmp", "gif", "ico", "jpeg", "jpg", "mng", "pbm", "pgm", "png", "ppm", "svg", "svgz", "tga", "tif", "tiff", "xbm", "xpm"), однако попытка открыть tga файл через QImage возвращает пустой объект ( Qimage.isNull == true )/ Скачал исходники Qt сам скомпилировал эти плагины - результат тот же. Что я делаю не так? |
| Автор: Amp 14.8.2013, 15:44 |
| Кажется в 4.8 отломали tga, попробуй 4.7 или 5.X. |
| Автор: bsa 15.8.2013, 11:32 | ||
http://qt-project.org/doc/qt-4.8/qimagereader.html#supportedImageFormats
|
| Автор: Jeka178RUS 15.8.2013, 11:34 |
| TGA не сжатые проверял |
| Автор: Jeka178RUS 15.8.2013, 12:24 | ||
| Попробовал так QFile tgaFile( fileName ); QImageReader imgRead( &tgaFile, "tga" ); QImage tga = imgRead.read( ); if ( tga.isNull() ){ qDebug() << "Fail" << imgRead.error(); } Получил ошибочку 4
К сожалению отладчик не смог добраться по внутренностей tga plugina, чтобы найти место откуда возвращается ошибка :( Однако я точно знаю, что программа находит и загружает плагин |
| Автор: Jeka178RUS 15.8.2013, 14:23 |
| Проблема решена: XnView записывал tga файлы без секции подвала, а Photoshop следуя спецификации tga 2.0 записывал подвал. Плагин Qt не обнаружив подвала считал это за ошибку, я решил закомментировать проверку подвала, так как чтение каких либо секций специфичных для tga 2.0 в плагине не реализовано. |