Зворотний зв'язок

Перетворення форматів графічних файлів

BYTE EgaPalette[48];Палітра

BYTE Reserved;Зарезервовано

BYTE NumberOfPlanes;Кількість площин

WORD BytesLinePlane;Кількість байтів на рядок

WORD PaletteInfo;Тип палітри

WORD HScreenSize;Розмір екрану по горизонталі

WORD VScreenSize;Розмір екрану по вертикалі

BYTE Filler[54];Зарезервовано

} PCXHEADER;

Поле Id містить 0Ah, це означає, що даний файл направді є файлом формату PCX. Натепер підтримується лише один тип кодування – RLE, якому відповідає значення 1. Назви інших полів говорять самі за себе.Дані у форматі PCX стискаються за допомогою простого алгоритму групового кодування, у якому група байтів, що повторюються, замінюється двома байтами: кількістю значень та самим значенням. Перший байт цієї двобайтової групи містить у двох старших бітах по одиниці, а у шести менших – кількість значень, які повторюються, що визначає максимальну довжину – 63 пікселя. Другий байт містить восьмибітове значення, що на виході повторюється стільки разів, скільки було задано у молодших шести бітах першого байту. Далі йде наступна пара кількість/значення. Якщо старші два біти першого байту нулі, то цей байт містить саме значення, а кількість повторень вважається 1. Отримані дані кодують колір послідовних пікселів, по три на піксель у форматі RGB. Але дані записуються не триплетами, а спочатку усі червоні компоненти для одного рядка растру, потім так само зелені, а потім сині. При цьому палітра не використовується.

Формат BMP

Формат BMP був створений компанією Microsoft спеціально для зберігання растрових даних у системі Windows. Дані заголовку та й його розмір змінювалися й доповнювалися з випуском нових версій цієї операційної системи. Ми будемо розглядати формат BMP версії три. Перший 14-байтовий заголовок однаковий для усіх версій:

Typedef struct

BITMAPFILEHEADER {

UINT16 type;Тип файлу – 4D42h ("BM")

UINT32 size;Розмір файлу в байтах

INT16 xHotspot;Резерв

INT16 yHotspot;Резерв

UINT32 offsetToBits;Початок даних зображення

} BITMAPFILEHEADER;


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат