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

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 28.03.2012, 17:02   #1
Павел-ещераз-Павел
 
Регистрация: 28.03.2012
Сообщений: 5
Репутация: 10
Радость Загрузка 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
zvoronz
Пользователь
 
Регистрация: 03.01.2011
Адрес: Украина, Харьков
Сообщений: 49
Репутация: 41
По умолчанию

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

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

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

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

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

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка с 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 16:43
Загрузка UnD)eaD)Snake Общие вопросы Delphi 10 19.08.2007 11:24


20:43.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.