|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.03.2012, 17:02 | #1 |
Регистрация: 28.03.2012
Сообщений: 5
|
Загрузка PCXfile
скажите плз, может кто знает.....нашёл код, где идет загрузка pcx файла
unsigned char *LoadPCXFile(char *filename, PCXHEADER *pcxHeader) { int idx = 0; int c; int i; int numRepeat; FILE *filePtr; int width; int height; unsigned char *pixelData; unsigned char *paletteData; fopen_s(&filePtr, filename, "rb"); if (filePtr == NULL) return NULL; // retrieve first character; should be equal to 10 c = getc(filePtr); if (c != 10) { fclose(filePtr); return NULL; } // retrieve next character; should be equal to 5 c = getc(filePtr); if (c != 5) { fclose(filePtr); return NULL; } rewind(filePtr); // read 4 characters of data to skip fgetc(filePtr); fgetc(filePtr); fgetc(filePtr); fgetc(filePtr); ..... пытался понять, почему мы извлекаем сначало 10 characters, а затем 5 и 4. В структуре самого формата я насчитал всего 18 свойств. или я не туда полез?????? подскажите пожалуйста, если знаете о чем речь идет |
31.03.2012, 19:33 | #2 |
Пользователь
Регистрация: 03.01.2011
Сообщений: 49
|
В этом куске кода вижу только то что сначало проверяется по сигнатуре PCX файл ты передал или нет.
0А05 сигнатура РСХ файла. То есть если сигнатура не совпадает то функция возвратит NULL, а не указатель на пиксельные данные. Далее дескриптор файла снова устанавливается на его начало и пропускаются первые 4-ри байта файла. То что ты спрашиваешь вообще непонятно о чём ты. То что ты полез смотреть структуру формата это правильно, но вижу ты ещё не понимаешь код. Последний раз редактировалось zvoronz; 31.03.2012 в 19:35. |
31.03.2012, 20:44 | #3 |
Регистрация: 28.03.2012
Сообщений: 5
|
Да, я тут совсем напутался.... а вот откуда 0А05 берется? почему это и есть сигнатура.....пытался переводить из 16-й в 10-юю получается 2565, это число мне ни о чем не говорит ((((
|
31.03.2012, 22:21 | #4 |
Регистрация: 28.03.2012
Сообщений: 5
|
совсем забыл, Спасибо )))))
|
31.03.2012, 22:29 | #5 |
Пользователь
Регистрация: 03.01.2011
Сообщений: 49
|
Не понял о чём ты забыл?
Зачем ты 0А05 в 10-ную перевёл вместе если у тебя сравниваются они отдельно |
01.04.2012, 11:32 | #6 |
Регистрация: 28.03.2012
Сообщений: 5
|
Все, я понял.....спасибо огромное ))))) просто я прогуглил и нашёл, что сигнатура BMP = 4D42, а с PCX совсем ничего. Спасибо ))))
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Загрузка с CD | AndreyFreeman | Фриланс | 2 | 24.10.2010 13:59 |
Загрузка ОС | subbota | Операционные системы общие вопросы | 1 | 24.09.2009 14:32 |
Загрузка | Witaliy | PHP | 3 | 12.07.2008 18:06 |
Загрузка ЦП | HelloZAPOR | Win Api | 7 | 05.11.2007 15:43 |
Загрузка | UnD)eaD)Snake | Общие вопросы Delphi | 10 | 19.08.2007 11:24 |