Растровые файлы KOFAX: как их открыть? - PullRequest
2 голосов
/ 12 октября 2010

Мое приложение C # получает файлы изображений от драйвера KOFAX VRS TWAIN в режиме TWSX_FILE, но ни мое собственное приложение на основе .NET, ни средство просмотра изображений по умолчанию в Windows не могут открыть эти файлы.Однако Adobe Photoshop может открыть их без каких-либо проблем.Я попробовал библиотеку FreeImage и, хотя она правильно определяет их размеры, она отображает черные изображения.Кажется, у KOFAX есть какой-то собственный формат растрового изображения, заголовок которого отличается от обычных файлов bmp: http://www.fileformat.info/mirror/egff/ch03_03.htm Я загрузил один из этих файлов здесь: http://www.box.net/shared/aby42aagz4 Я хотел знать, как я могуоткрыть эти изображения в моих приложениях, кто-нибудь знает любую легковесную библиотеку с открытым исходным кодом / бесплатную библиотеку или фрагмент кода C ++ / C #, поддерживающий этот формат изображений?

1 Ответ

2 голосов
/ 23 февраля 2011

Вы в основном ответили на свой вопрос: файл не является ни растровым файлом Windows, ни задокументированным форматом Kofax Raster.

Как вы указали, первые два байта - это «BM», что указывает на то, что файл подразумевает растровое изображение Windows. Однако, если бы это было действительно так, следующие четыре байта содержали бы размер файла. В вашем примере файла следующие четыре байта содержат значение, намного превышающее фактический размер файла, поэтому его нельзя правильно интерпретировать как файл растрового изображения Windows.

На сайте fileformat.info, на который вы ссылались, указано, что если файл действительно имеет формат Kofax Raster, он начинается с байтов 68464B2Eh. Таким образом, ваш файл также не в формате Kofax Raster. На самом деле я попытался открыть его с помощью программного обеспечения Kofax VCDemo и получил следующую ошибку: «Ошибка 20204 - внутреннее недопустимое состояние»

Таким образом, собственное программное обеспечение Kofax считает, что файл поврежден.

Тот факт, что Photoshop может открыть его и отобразить что-то, не обязательно означает, что это допустимый формат файла изображения. Пакеты программного обеспечения для обработки изображений часто просто пытаются угадать при интерпретации необработанных байтов файла. Иногда им везет, иногда нет.

Попытка найти что-то, что может прочитать файлы, предполагает, что файл имеет стандартный формат, а это не так. Таким образом, я не стал бы искать что-то, что могло бы прочитать файл, а вместо этого выяснил, почему конфигурация VRS / TWAIN, которую вы используете, создает нестандартный формат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...