Лекция 3 Контекст устройства Понятие

Скачать презентацию Лекция 3 Контекст устройства    Понятие Скачать презентацию Лекция 3 Контекст устройства Понятие

Лекция 003 Контекст устройства.ppt

  • Количество слайдов: 21

>Лекция 3 Контекст устройства Лекция 3 Контекст устройства

>  Понятие контекста    устройства  Контекст является объектом операционной системы Понятие контекста устройства Контекст является объектом операционной системы посредством которого осуществляется вывод информации на внешнее устройство (монитор, принтер и т. п. ). Контекст содержит в себе информацию об устройстве вывода, объекты, при помощи которых формируется изображение, поле вывода графики. Все функции операционной системы для вывода графики используют контекст.

>Порядок графического вывода в   ОС MS DOS Данная схема хорошо работает в Порядок графического вывода в ОС MS DOS Данная схема хорошо работает в случае однозадачного режима, когда адресным пространством видео памяти владеет только одна программа.

> • Контекст – структура данных,  формируемая операционной  системой, хранящая информацию о • Контекст – структура данных, формируемая операционной системой, хранящая информацию о параметрах и характеристиках устройства вывода, посредством которого программа осуществляет графический вывод информации.

>Схема графического вывода в  ОС WINDOWS Схема графического вывода в ОС WINDOWS

>  Первый способ получения  контекста // Начать графический вывод hdc = Begin. Первый способ получения контекста // Начать графический вывод hdc = Begin. Paint(h. Wnd, &ps); // графический вывод. . . // Закончить графический вывод End. Paint(h. Wnd, &ps);

> Второй способ получения   контекста // Начать графический вывод hdc = Get. Второй способ получения контекста // Начать графический вывод hdc = Get. DC(h. Wnd); // графический вывод. . . // Закончить графический вывод Release. DC(h. Wnd, hdc);

>Области окна приложения     Не клиентская область окна  Рабочая область Области окна приложения Не клиентская область окна Рабочая область окна Клиентская область окна

>  Области окна приложения    (продолжение)  • рабочая область – Области окна приложения (продолжение) • рабочая область – вся область, занимаемая окном на экране; • неклиентская область – включает стандартные элементы окна, которые, в общем случае, отрисовываюся операционной системой: рамка, строка заголовка, кнопки закрыти, минимизации и т. п. , меню; • клиентская область – вся оставшаяся от неклиентской рабочая область окна.

>Действительные области Действительные области

>Недействительные области Недействительные области

>  Действительные и недействительные области • Области экрана, графическая информация о  которых Действительные и недействительные области • Области экрана, графическая информация о которых известна операционной системе, называются действительными. • В момент закрытия, открытия, передвижения окон на экране появляются "черные дыры" – области, информация об изображении которых потеряна ОС или неизвестна. Такие области экрана получили название недействительных областей.

>Координатная сетка клиентской  области окна приложения  ( 0, 0 )  Координатная сетка клиентской области окна приложения ( 0, 0 ) XMAX YMAX

>  Рисование прямоугольника  case WM_PAINT:      ( 20, Рисование прямоугольника case WM_PAINT: ( 20, 20 ) hdc = Begin. Paint(h. Wnd, &ps); Rectangle(hdc, 20, 300, 200); End. Paint(Wnd, &ps); ( 300, 200 ) break;

>   Рисование эллипса  case WM_PAINT:      ( Рисование эллипса case WM_PAINT: ( 20, 20 ) hdc = Begin. Paint(h. Wnd, &ps); Ellipse(hdc, 20, 300, 200); End. Paint(Wnd, &ps); ( 300, 200 ) break;

>   Рисование линии  case WM_PAINT:      ( Рисование линии case WM_PAINT: ( 20, 20 ) hdc = Begin. Paint(h. Wnd, &ps); Move. To. Ex(hdc, 20, NULL); Line. To(hdc, 300, 200); End. Paint(Wnd, &ps); ( 300, 200 ) break;

>   Рисование ломаной линии case WM_PAINT: hdc = Begin. Paint(h. Wnd, &ps); Рисование ломаной линии case WM_PAINT: hdc = Begin. Paint(h. Wnd, &ps); POINT p[3]; ( 20, 20 ) ( 200, 20 ) p[0]. x=20; p[0]. y=20; p[1]. x=200; p[1]. y=20; p[2]. x=100; p[2]. y=150; ( 100, 150 ) Polyline(hdc, p, 3); End. Paint(Wnd, &ps); break;

>  Рисование замкнутой фигуры case WM_PAINT: hdc = Begin. Paint(h. Wnd, &ps); POINT Рисование замкнутой фигуры case WM_PAINT: hdc = Begin. Paint(h. Wnd, &ps); POINT p[3]; ( 20, 20 ) ( 200, 20 ) p[0]. x=20; p[0]. y=20; p[1]. x=200; p[1]. y=20; p[2]. x=100; p[2]. y=150; ( 100, 150 ) Polygon(hdc, p, 3); End. Paint(Wnd, &ps); break;

>    Вывод текста  case WM_PAINT:     Вывод текста case WM_PAINT: ( 20, 20 ) hdc = Begin. Paint(h. Wnd, &ps); Привет ( 200, 20 ) Text. Out(hdc, 20, ”Привет”, 6); End. Paint(Wnd, &ps); break; ( 100, 150 )

>Параметры контекста Параметры контекста

>Параметры контекста (продолжение) Параметры контекста (продолжение)