ReferatWorld.ru
» » » Вирізання картинок з екрану та запис їх в BMP форматі (для графіки) і TXT форматі (для тексту)
Вернуться назад

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

Міністерство освіти та науки України

Кіровоградський Державний Технічний університет

Кафедра програмного забезпечення

КУРСОВА РОБОТА

з дисципліни

“Програмування мовою ASM-86”

на тему:

“Вирізання картинок з екрану та запис їх в 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 і вище для графіки

ОС: MS-DOS 4.0 або вище


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

Для початку роботи програми треба запустити файл GRABBER.COM. Програма встановить свою резидентну частину і завершиться. Для зберігання текстового або графічного екрану треба натиснути клавішу PrintScreen. У разі текстового режиму у поточному каталозі з’явиться файл dump.txtзі змістом екрану, а у разі графічного режиму 320х200х256 – файл dump.bmp. Для вивантаження програми з пам’яті можна використати функції оболонки VC.


8. Висновок

Отже, завдяки виконанню роботи продемонстровано методи створення резидент них програм, використання функцій MS-DOS в обробнику переривань завдяки недокументованому перериванню 28, розглянута структура графічних файлів формату ВМР.


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

1. Том Сван "Освоение Turbo Assembler"

2. Роберт Журден "Справочник программиста на персональном компьютере фирмы IBM"

3. Абель П. "Мова Асемблера для IBM PC та програмування"


ЛІСТИНГ ПРОГРАМИ

grabber.asm

.model tiny

.286

include grabber.inc

.code

org 100h

start:

jmp inital

old_int28_treater dd 0

ready_to_write db 0

filename_bmp db 'dump.bmp',0

filename db 'dump.txt',0

handle dw 0

data db 0

col dw 0

row dw 0

bmp_header BITMAPFILEHEADER <>

bmp_info BITMAPINFOHEADER <>

bmp_rgb RGBQUAD <>

;-------------------------------------------------------

; створення BMP файлу

create_file_bmp proc

;створити файл

mov ah,3ch

xor cx,cx

mov dx,offset filename_bmp

push ds

push cs

pop ds

int 21h

pop ds

mov word ptr cs:[handle],ax ;хендл на файл

ret

create_file_bmp endp

; створе

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Курсовые работы по информатике и программированию Міністерство освіти та науки України Кіровоградський Державний Технічний університет Кафедра програмного забезпечення КУРСОВА РОБОТА з
Оценок: 1000 (Средняя 5 из 5)

Одними из наиболее популярных услуг на рынке IT-технологий являются создание и продвижение лендингов. Они способны положительно влиять на деятельность любого бизнес-проекта в интернете. Судя по многочисленным отзывам, заказавшие создание лендингов люди ни разу не пожалели о потраченных деньгах. Они вложили в будущее, которое неразрывно связано с интернетом. Всё больше и больше предпринимателей обращаются к услугам разных агентств, веб-студий, чтобы заказать создание лендинга у профессионалов.

© 2017 - 2022 ReferatWorld.ru