Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > C++ > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 28.03.2012, 16: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, 18:33   #2
zvoronz
Пользователь
 
Регистрация: 03.01.2011
Сообщений: 49
По умолчанию

В этом куске кода вижу только то что сначало проверяется по сигнатуре PCX файл ты передал или нет.
0А05 сигнатура РСХ файла. То есть если сигнатура не совпадает то функция возвратит NULL, а не указатель на пиксельные данные.
Далее дескриптор файла снова устанавливается на его начало и пропускаются первые 4-ри байта файла.
То что ты спрашиваешь вообще непонятно о чём ты.

То что ты полез смотреть структуру формата это правильно, но вижу ты ещё не понимаешь код.

Последний раз редактировалось zvoronz; 31.03.2012 в 18:35.
zvoronz вне форума Ответить с цитированием
Старый 31.03.2012, 19:44   #3
Павел-ещераз-Павел
 
Регистрация: 28.03.2012
Сообщений: 5
По умолчанию

Да, я тут совсем напутался.... а вот откуда 0А05 берется? почему это и есть сигнатура.....пытался переводить из 16-й в 10-юю получается 2565, это число мне ни о чем не говорит ((((
Павел-ещераз-Павел вне форума Ответить с цитированием
Старый 31.03.2012, 21:21   #4
Павел-ещераз-Павел
 
Регистрация: 28.03.2012
Сообщений: 5
По умолчанию

совсем забыл, Спасибо )))))
Павел-ещераз-Павел вне форума Ответить с цитированием
Старый 31.03.2012, 21:29   #5
zvoronz
Пользователь
 
Регистрация: 03.01.2011
Сообщений: 49
По умолчанию

Не понял о чём ты забыл?
Зачем ты 0А05 в 10-ную перевёл вместе если у тебя сравниваются они отдельно
zvoronz вне форума Ответить с цитированием
Старый 01.04.2012, 10:32   #6
Павел-ещераз-Павел
 
Регистрация: 28.03.2012
Сообщений: 5
Радость

Все, я понял.....спасибо огромное ))))) просто я прогуглил и нашёл, что сигнатура BMP = 4D42, а с PCX совсем ничего. Спасибо ))))
Павел-ещераз-Павел вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка с CD AndreyFreeman Фриланс 2 24.10.2010 12:59
Загрузка ОС subbota Операционные системы общие вопросы 1 24.09.2009 13:32
Загрузка Witaliy PHP 3 12.07.2008 17:06
Загрузка ЦП HelloZAPOR Win Api 7 05.11.2007 15:43
Загрузка UnD)eaD)Snake Общие вопросы Delphi 10 19.08.2007 10:24


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS