Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Запис в графічний файл формату BMP

Реферат Запис в графічний файл формату BMP





змір заголовків + розмір

; палітри = $-BMP_file_header +256 * 4 +320 * 200; розмір заголовків +

; розмір палітри + розмір даннихdb 3 * 256-1 dup (0); для палітриdb 0; указ. на кінець рядка палітри полученой ф-й біос255 dup (0) db 0; указ. на кінець сформованої палітри для запису у файл

info_mes db 'Copy text screen if press F5 in file "copy"', '$'; рядок про програму

. codenew PROCdsax

mov ax, @ data; встановити в DS сегмент даних программиds, axal, 60h; отримати сан-код натиснутої клавішіal, F5_key; натиснута клавіша F5copy_file; якщо так, то почати запис екранаint09old; викликати перехоплений обробник Int 09h

pop axds_file:

pushfint09old; викликати перехоплений обробник Int 09hdin, 1; перевірити прапор записи в файлdo_file; почати записувати файл

pop axds_file:

push bx; зберегти ісп. регістриcx

push dxsidi

push esdin, 1ax, 40h; встановити ES на сег. оточення DOS (сег. з параметрами ОС) es, axah, byte ptr es: [49h]; номер поточного режиму

; перевіряємо номер режиму працювати тільки в графічному 13h

cmp ah, 13hgr_mode_good; = якщо режим 13hexit_mode_good:

mov ax, 3c00h +00100010 b; 3ch створити файл

xor cx, cxdx, BMPFile

int 21hferr; якщо сталася помилка при роботі з файломbx, ax; дескриптор файлаax, 4000h; записати у файл заголовок

mov cx, BMP_header_lengthdx, BMP_file_header

int 21hferr; якщо сталася помилка при роботі з файлом

push bxdses

movax, 1017h; Функція 1017h - читання палітри VGA, 0; починаючи з регістра палітри 0,, 256; всі 256 регістрів, offset Palette; початок палітри в BMPh; відеосервіс BIOS

; перевести палітру з формату, в якому її показує функція 1017h

; (три байти на колір, в кожному байті 6 значущих бітів)

; у формат, використовуваний в BMP-файлах

; (4 байти на колір, в кожному байті 8 значущих бітів); рух від кінця до початку, offset ePalette3; SI - кінець 3-байтной палітри, offset ePalette4; DI - кінець 4-байтной палітри

movcx, 256; CX - число цветов_pal: moval, 0cx

mov cx, 2; записати четвертий байт (0); прочитати третій байт, cl; масштабувати до 8 бітів; прочитати другий байт, cl; масштабувати до 8 бітів; прочитати третій байт, cl; масштабувати до 8 бітів; і записати ці три байти; в зворотному порядку

popaxcx_pal

pop bx; дискриптор файлу відновити з стекаax, 4000h; записати у файл заголовок

mov cx,...


Назад | сторінка 3 з 4 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Резидентний оброблювач клавіатури (перехоплення натискань клавіш і запис у ...
  • Реферат на тему: Додаток, що реалізує метод заміни найменш значущих бітів для файлів з розши ...
  • Реферат на тему: Програма, що реалізує роботу з текстом і збереженням даних у файл
  • Реферат на тему: Файл .htaccess
  • Реферат на тему: Файл менеджер на мові C #