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

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




👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































Міністерство освіти та науки України
Кіровоградський Державний Технічний університет
«Вирізання картинок з екрану та запис їх в BMPформаті (для графіки) і TXT форматі (для тексту)»
При роботі буває необхідно «перехопити» текстову або графічну інформацію, яку виводять на екран різні програми, в текстовий або графічний файл для подальшої обробки. Для такої мети використовують резидентні програми.
Для роботи нам знадобиться опис заголовку ВМР-файла. Його можна знайти в додатку (в лістингу файла grabber.inc).
Розробити резидентну програму на асемблері, яка дозволить перехопити зміст текстового та графічного екрану у файл (відповідно TXT і BMP).
2. Обґрунтування вибору методів розв’язку задачі

Для того, щоб записувати зміст екрану, будемо читати його з відеопам’яті. Для роботи з файлами можна використовувати функції ОС (з переривання 21h). Але при використанні функцій ДОС з обробника переривань виникає проблема нереентерабельності ДОС (тобто не можна викликати сервіс ДОС під час роботи будь-якої її функції). Тому використовується перехоплення не документованого переривання ДОС 28h, яке викликається в той момент, коли система вільна. В цей час можна викликати функції.
Графічних режимів дуже багато. Для реалізації виберемо режим 3 (текстовий) і 13h (графічний – режим 320х200х256 кольорів).
1. Встановити обробники переривань 5 і 28h.
1. Встановити змінну, яка сигналізує про натиснення клавіші, в 1.
3. У разі текстового файлу записати побайтно зміст відеопам’яті у файл і перейти на п. 5.
4. У разі графіки заповнити структуру заголовка ВМР-файла, записати палітру і всі графічні дані у файл. Графіка записується, починаючи з лівого нижнього кута екрану.
При натисканні клавіші PrintScreen встановлюється ознака про її натиснення. Коли ДОС звільняється і виконує переривання 28, то при встановленій ознаці відбувається збереження екрану. Створюється або обнулюється файл, визначається поточний режим екрану і спосіб запису, з разі текстового режиму у файл записується зміст відеопам’яті у вигляді рядків, а у разі графічного – заповнюється структура BMP файлу, визначається палітра, і все це разом зі змістом графічної області відеопам’яті записується у файл. Після цього файл закривається і обробка завершується.
Екран: CGA або вище для тексту, VGA і вище для графіки
Отже, завдяки виконанню роботи продемонстровано методи створення резидент них програм, використання функцій MS-DOS в обробнику переривань завдяки не документованому перериванню 28, розглянута структура графічних файлів формату ВМР.
1. Том Сван «Освоение Turbo Assembler»
2. Роберт Журден «Справочник программиста на персональном компьютере фирмы IBM»
3. Абель П. «Мова Асемблера для IBM PC та програмування»
mov word ptr cs: [handle], ax; хендл на файл
mov word ptr cs: [handle], ax; хендл на файл
; перехопити режим 320x200x256 (13h)
mov word ptr cs: [bmp_header.bfType], 4d42h
mov word ptr cs: [bmp_header.bfReserved1], 0
mov word ptr cs: [bmp_header.bfReserved2], 0
mov word ptr cs: [bmp_header.bfSize], 0fe36h
mov word ptr cs: [bmp_header.bfSize+2], 0
mov word ptr cs: [bmp_header.bfOffbits], 0436h
mov word ptr cs: [bmp_header.bfOffbits+2], 0
mov word ptr cs: [bmp_info.biSize], 28h
mov word ptr cs: [bmp_info.biWidth], 140h
mov word ptr cs: [bmp_info.biHeight], 0c8h
mov word ptr cs: [bmp_info.biSize+2], 0
mov word ptr cs: [bmp_info.biWidth+2], 0
mov word ptr cs: [bmp_info.biHeight+2], 0
mov word ptr cs: [bmp_info.biPlanes], 1
mov word ptr cs: [bmp_info.biBitCount], 8
mov word ptr cs: [bmp_info.biCompression], 0
mov word ptr cs: [bmp_info.biSizeImage], 0
mov word ptr cs: [bmp_info.biXPelsPerMeter], 0b40h
mov word ptr cs: [bmp_info.biYPelPerMeter], 0b40h
mov word ptr cs: [bmp_info.biClrUsed], 100h
mov word ptr cs: [bmp_info.biClrImportant], 0
mov word ptr cs: [bmp_info.biCompression+2], 0
mov word ptr cs: [bmp_info.biSizeImage+2], 0
mov word ptr cs: [bmp_info.biXPelsPerMeter+2], 0
mov word ptr cs: [bmp_info.biYPelPerMeter+2], 0
mov word ptr cs: [bmp_info.biClrUsed+2], 0
mov word ptr cs: [bmp_info.biClrImportant+2], 0
;======================================================
;======================================================
mov byte ptr cs: [bmp_rgb.rgbBlue], al
mov byte ptr cs: [bmp_rgb.rgbGreen], al
mov byte ptr cs: [bmp_rgb.rgbRed], al
mov byte ptr cs: [bmp_rgb.rgbRserved], 0
;======================================================
cmp byte ptr cs: [ready_to_write], 1
mov byte ptr cs: [ready_to_write], 0
jmp dword ptr cs: [old_int28_treater]
int5_treater:; обробник клавiшi PrintScreen
mov byte ptr cs: [ready_to_write], 1
greeting db 10,10,10,10,13,'Press PRINT_SCREEN to grab text screen or graphic!', 10,10,10,'$'
mov word ptr cs: [old_int28_treater], ax
mov word ptr cs: [old_int28_treater+2], ax
bfType dw 0; // тип файла (для битового образа – BM)
bfSize dd 0; // размер файла в dword
bfReserved1 dw 0; // не используется
bfReserved2 dw 0; // не используется
bfOffbits dd 0; // смещение данных битового образа от
;======================================================
biSize dd 0; // число байт, занимаемых структурой
biWidth dd 0; // ширина битового образа в пикселах
biHeight dd 0; // высота битового образа в пикселах
biPlanes dw 1; // число битовых плоскостей устройства
biBitCount dw 0; // число битов на пиксель
biSizeImage dd 0; // размер картинки в байтах
biXPelsPerMeter dd 0; // горизонтальное разрешение устройства,
biYPelPerMeter dd 0; // вертикальное разрешение устройства,
biClrUsed dd 0; // число используемых цветов
biClrImportant dd 0; // число «важных» цветов
;======================================================
rgbRed db 0; // интенсивность красного
rgbGreen db 0; // интенсивность зеленого
rgbBlue db 0; // интенсивность голубого
rgbRserved db 0; // не используется

Название: Вирізання картинок з екрану та запис їх в BMP форматі (для графіки) і TXT форматі (для тексту)
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа
Добавлен 13:29:10 06 августа 2009 Похожие работы
Просмотров: 22
Комментариев: 14
Оценило: 3 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Курсовая работа: Вирізання картинок з екрану та запис їх в BMP форматі (для графіки) і TXT форматі (для тексту)
Социальная Экономика Реферат
Доклад по теме Исследование полупроводникового диода
Алиса Помоги Найти Реферат
Анаграмма Курсовик
Доклад: Инвестиционные институты
Контрольная Работа На Тему Демографическая Ситуация В Республике Коми
Реферат На Тему Основные Критерии Экспертизы Законопроектов
Курсовая работа: Боярская Дума
Реферат На Тему Продукция Птицеводства В Рб
Реферат: Определение и управление валютными рисками предприятием внешнеэкономической деятельности на примере ООО Корпорация Агросинтез (Визначення та керування валютними ризиками підприємством ЗЕД на прикладі ТОВ “Корпорація “Агросинтез”)
Книга: Второй пол, Бовуар Симона де
Реферат Про Баскетбол По Физкультуре 3 Класс
Реферат: Параллельные миры и антимиры
Реферат: Отчет по практике 16
Дипломная работа по теме Размерность конечных упорядоченных множеств
Реферат по теме Русско-татарское дуалистическое государство
Курсовая работа по теме Система законодательства в сфере обращения лекарственных средств
Реферат по теме Влияние газового сектора на позиции России в мировой экономике
Реферат: Люксембургский франк
Курсовая работа: Окись этилена. Скачать бесплатно и без регистрации
Курсовая работа: Административно-правовой статус иностранных лиц и лиц без гражданства
Реферат: История виноделия
Реферат: Стадии бюджетного процесса

Report Page