Лабораторна робота №2-3
Формат BMP
Опис: BMP (від англ. Bitmap Picture) - формат зберігання растрових зображень, розроблений компанією Microsoft. Файли формату BMP можуть мати розширення .bmp, .dib і .rle.
В даному форматі можна зберігати лише одношарові растри. На кожен піксель в різних файлах може припадати різну кількість біт (глибина кольору). Microsoft пропонує битности 1, 2, 4, 8, 16, 24, 32, 48 і 64. У Бітність 8 і нижче він вказується індексом з таблиці кольорів (палітри), а при великих безпосереднім значенням. Колір же в будь-якому випадку можна задати тільки в колірній моделі RGB (як при безпосередньому вказівці в пікселі, так і в таблиці кольорів), але в Бітність 16 і 32 можна отримати Grayscale з глибиною до 16 і 32 біт відповідно. Часткова прозорість реалізована альфа-каналом різних Бітність, але при цьому прозорість без градацій можна побічно отримати RLE-кодуванням.
У більшості випадків пікселі зберігаються у вигляді відносно простого двовимірного масиву. Для Бітність 4 і 8 є RLE-кодування, яке може зменшити їх розмір. Формат BMP також підтримує вбудовування даних в форматах JPEG і PNG. Але останнім скоріше більше призначене не для компактного зберігання, а для обходу обмежень архітектури GDI, яка не передбачає пряму роботу із зображеннями відмінних від BMP форматів.
В останніх версіях формату BMP також з'явилися можливості по управлінню кольором. Зокрема, можна вказувати кінцеві точки, виробляти гамма-корекцію і вбудовувати колірні профілі ICC.
Принцип формування: Максимальний розмір неподільних осередків (виключаючи поля бітових структур): 32 біта і тому формат можна класифікувати як 32-бітний. Винятком можуть бути 64-бітові пікселі, але значення їх каналів можна обробляти і 16-бітними словами. Порядок байт в 16-бітних і 32-бітних осередках всюди від молодшого до старшого (little-endian). Цілі числа записуються в прямому коді, зі знаком - в додатковому. Якщо порівнювати з апаратними архітектурами, то порядок байт і формат чисел відповідає x86.
Чотири числових типів:
BYTE - 8-бітове беззнаковое ціле. WORD - 16-бітове беззнаковое ціле. DWORD - 32-бітове беззнаковое ціле. LONG - 32-бітове ціле зі знаком.
У форматі Windows Bitmap під структурами розуміється блок з йдуть підряд осередками різного фіксованого розміру, у яких є всі ці імена (є в багатьох мовах програмування), а не щось складніше (наприклад, потік команд довільного розміру).
У деяких елементів формату вказана версія Windows, починаючи з якої він підтримується. Йдеться в першу чергу про основні бібліотеках WinAPI таких як gdi32.dll, shell32.dll, user32.dll і kernel32.dll. Інші компоненти операційної системи (наприклад, GDI +, .NET, DirectX) можуть мати інші ширші можливості.
Формат JPG
Опис: Файл з розширенням JPG - це теж саме, що і JPEG. Термін JPEG насправді - це скорочення від «Спільна група експертів фотографії» (Joint Photographic Experts Group), тому що це назва комітету, який розробив формат. Але Ви не зобов'язані це пам'ятати, тому рідко хто про це знає. Замість цього, пам'ятайте, що JPEG являє собою стислий формат файлу зображення. JPEG зображення не обмежені певним кількістю квітів, як GIF формат. Таким чином, формат JPEG краще для стиснення фотографій. Так що, якщо ви побачите велику, барвисте зображення в Інтернеті, то, швидше за все файлу у форматі JPEG.
Принцип формування: Файл JPEG містить послідовність маркерів, кожен з яких починається з байта 0xFF, засвідчує про початок маркера, і байта-ідентифікатора. Деякі маркери складаються тільки з цієї пари байтів, інші ж містять додаткові дані, що складаються з двухбайтового поля з довжиною інформаційної частини маркера (включаючи довжину цього поля, але за вирахуванням двох байтів початку маркера, тобто 0xFF та ідентифікатора) і власне даних. Така структура файлу дозволяє швидко відшукати маркер з необхідними даними (наприклад, з довжиною рядка, числом рядків і числом колірних компонентів стисненого
Формат GIF
Опис: 8-бітний растровий графічний формат, що використовує до 256 чітких кольорів із 24-бітного діапазону RGB. Формат було розроблено компанією CompuServe у 1987 році, і з того часу набув широкої популярності у всесвітній павутині завдяки своїй відносній простоті та мобільності. Одними із головних особливостей формату є підтримка анімації та прозорості.
Принцип формування: Файли формату GIF мають блокову структуру. Це означає, що вони складаються з окремих блоків, які в більшості випадків ніяк не пов'язані один з одним. Програми, що не розпізнають деякі типи блоків, можуть просто пропускати їх - для цього у кожного нестандартного блоку в заголовку вказано його розмір. Ті, що йдуть один за іншим блоки графіки (картинки) складають анімацію. Вони змінюються на екрані і створюють ілюзію руху.
Формат PNG
Опис: PNG (произносится "Пинг") - растровый формат, предназначенный для хранения и передачи растровых изображений: черно-белых и альфа данных - до 16 бит, а цветных - до 48 бит (truecolor). Он использует прогрессивный метод сжатия без потерь, позволяет сохранять в файле палитру, текстовую информацию и обеспечивает прозрачность.
Принцип формування: PNG файл або потік даних складається з 8-байтовой розпізнавальної підпису, за якою слідують 3 або більше незалежних блоків даних, відповідних певної структурі. Кожен блок має своє власне визначення внутрішнього формату. Вони читаються по черзі, від початку до кінця файлу або потоку даних.