Лабораторная работа: Бібліотека ASM-86 для перегляду графіки в стандартах BMP та PCX
Продовжуйте декодування рядків, що залишилися. У файлі можлива наявність зайвих рядків з округленням на 8 чи 16 рядків.
Опис інформації про палітру
Інформація про 16-кольорову палітру (EGA/VGA)
Інформація про палітру запам'ятовується в одному з двох різних форматів. У стандартному форматі RGB (IBM EGA, IBM VGA) дані запам'ятовуються в 16 трійках. Кожна трійка складається з байтів зі значеннями червоного (Red), зеленого (Green) і синього (Blue) квітів. Значення можуть знаходитися в діапазоні 0-255, і тому необхідна їхня інтерпретація у формат використовуваного устаткування. Наприклад, на IBM EGA існують 4 можливих рівні RGB для кожного кольору. Оскільки 256/4 = 64, те нижче приведений список відповідності колірних значень і рівнів:
Значення Рівень
0-63 0
64-127 1
128-192 2
193-254 3
Інформація про 256-кольорову палітру VGA
В даний час ZSoft додав можливість збереження у файлі зображення PCX палітри, що перевищує 16 квітів. 256-кольорова палітра форматується й інтерпретується точно так, як 16-кольорова, природно, за винятком того, що вона довша. Палітра (число кольорів x 3 байти довжини) додається в кінець PCX файлу і їй передує байт із десятковим значенням 12. Для визначення палітри VGA BIOS вам досить розділити прочитані значення квітів на 4.
Для доступу до 256-кольорової палітри потрібно:
1. Прочитати в заголовку поле Version. Якщо воно дорівнює 5, палітра повинна бути.
2. Прочитати кінець файлу і відрахувати назад 769 байт. Знайдене вами значення повинне дорівнювати 12, що вказує на присутність 256-кольорової палітри.
3 . Алгоритм програми
Алгоритм головної програми:
1. Перехід в графічний режим
2. Виклик процедури виводу графіки в стандарті .PCX.
3. Чекання натиснення клавіші ENTER.
4. Виклик процедури виводу графіки в стандарті .BMP.
5. Чекання натиснення клавіші ENTER.
6. Закінчити програму.
Алгоритм функції виводу графіки в стандарті .BMP.
1.Читання заголовку.
2.Аналіз заголовку
3.Читання палітри
4.Заповнення палітри
5.Читання даних
6.Аналіз даних та вивід на екран