Курсовая работа: Вирізання картинок з екрану та запис їх в BMP форматі (для графіки) і TXT форматі (для тексту)

1. Вступ

2. Постановка задачі

3. Обґрунтування методу розв’язку

4. Алгоритм програми

5. Реалізація програми

6. Системні вимоги

7. Інструкція користувача

8. Висновок

9. Використана література

Лістинг програми


1. Вступ

При роботі буває необхідно “перехопити” текстову або графічну інформацію, яку виводять на екран різні програми, в текстовий або графічний файл для подальшої обробки. Для такої мети використовують резидентні програми.

Для роботи нам знадобиться опис заголовку ВМР-файла. Його можна знайти в додатку (в лістингу файла grabber.inc).

2. Постановка задачі

Розробити резидентну програму на асемблері, яка дозволить перехопити зміст текстового та графічного екрану у файл (відповідно TXT і BMP).

3. Обґрунтування вибору методів розв’язку задачі

Для того, щоб записувати зміст екрану, будемо читати його з відеопам’яті. Для роботи з файлами можна використовувати функції ОС (з переривання 21h). Але при використанні функцій ДОС з обробника переривань виникає проблема нереентерабельності ДОС (тобто не можна викликати сервіс ДОС під час роботи будь-якої її функції). Тому використовується перехоплення не документованого переривання ДОС 28h, яке викликається в той момент, коли система вільна. В цей час можна викликати функції.

Графічних режимів дуже багато. Для реалізації виберемо режим 3 (текстовий ) і 13h (графічний – режим 320х200х256 кольорів).

4. Алгоритм програми

1. Встановити обробники переривань 5 і 28h.

2. Залишити резидент в пам'яті.

Обробка переривання 5.

1. Встановити змінну, яка сигналізує про натиснення клавіші, в 1.

Обробка переривання 28.

1. Визначити режим екрану.

2. Відкрити файл на запис.

3. У разі текстового файлу записати побайтно зміст відеопам’яті у файл і перейти на п. 5.

4. У разі графіки заповнити структуру заголовка ВМР-файла, записати палітру і всі графічні дані у файл. Графіка записується, починаючи з лівого нижнього кута екрану.

5. Закрити файл.

6. Стоп

5. Реалізація програми

Після запуску програма встановлює обробник на переривання 5 (клавіша PrintScreen) та 28h (переривання при якому відбувається збереження екрану). Потім вона залишається резидентною в пам’яті.

При натисканні клавіші PrintScreen встановлюється ознака про її натиснення. Коли ДОС звільняється і виконує переривання 28, то при встановленій ознаці відбувається збереження екрану. Створюється або обнуляється файл, визначається поточний режим екрану і спосіб запису, з разі текстового режиму у файл записується зміст відеопам’яті у вигляді рядків, а у разі графічного – заповнюється структура BMP файла, визначається палітра, і все це разом зі змістом графічної області відеопам’яті записується у файл. Після цього файл закривається і обробка завершується.

6. Системні вимоги

Процесор: 80286 або старший.

Пам’ять: 640 К або більше

Екран: CGA або вище для тексту, VGA і вище для графіки

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 386
Бесплатно скачать Курсовая работа: Вирізання картинок з екрану та запис їх в BMP форматі (для графіки) і TXT форматі (для тексту)