Реферат: Просмотрщик графических файлов. Форматы PCX и BMP
}
// Чтениезаголовка bmp файла
void read_bmp_header (FILE *dataFile, bmpHeaderType &bmpHeader)
{
fread (&bmpHeader, sizeof (bmpHeaderType), 1, dataFile);
}
// Вывод bmp файланаэкран
int show_bmp (char *name)
{
bmpHeaderType bmpHeader; // структуразаголовка
FILE *dataFile; // указательнафайл
byte r, g, b; // красный, зеленый и синий в палитре
int x, y; // координаты пиксела
unsignedintwidth; // ширина картинки
dataFile = fopen (name, "rb"); // открытьфайл
if (dataFile == NULL) return 5; // еслинеможетоткрыть
read_bmp_header (dataFile, bmpHeader); // тестированиенаошибки
if (bmpHeader.nPlanes != 1) // не поддерживается (число цветовых слоев - 1)
{ fclose (dataFile); return 1; }
else
cout << "Этот формат BMP не поддерживается" << endl;
if (bmpHeader.bitsPerPixel != 8) // не поддерживается (8 бит -256 цветов)
{ fclose (dataFile); return 2; }
else
cout << "Этот формат BMP не поддерживается" << endl;
if (bmpHeader.compression != 0) // неподдерживается
{ fclose (dataFile); return 3; }
else
cout << "Этот формат BMP не поддерживается" << endl;