
- •Вопрос 1.
- •Архитектура ос Windows
- •Основные подсистемы ос Windows
- •Вопрос 2: Интерфейсная библиотека Ntdll.Dll
- •Подсистемы окружения
- •Подсистема Windows
- •Подсистема posix
- •Подсистема os/2
- •Исполнительная подсистема
- •Уровень абстрагирования от оборудования
- •Драйверы устройств
- •Системные процессы
- •Вопрос 3:
- •Реестр 64-битной версии Windows xp
- •Где расположен реестр?
- •Архитектура реестра Windows xp
- •Типы данных реестра Windows xp
- •Вопрос 5: Нотация программного интерфейса ос Windows. Нотация программного интерфейса ос Windows.
- •Вопрос 6: инимальная программа для ос Windows с окном на экране. Создание и отображение окна. Минимальная программа для ос Windows с окном на экране.
- •Регистрация класса окна
- •Создание и отображение окна.
- •Об окнах
- •Вопрос 7: Понятие оконного сообщения. Источники сообщений. Очередь сообщений. Цикл приема и обработки сообщений. Процедура обработки сообщений. Понятие оконного сообщения.
- •Источники сообщений.
- •Очередь сообщений.
- •Цикл приема и обработки сообщений.
- •Процедура обработки сообщений.
- •Посылка синхронных сообщений окну
- •Ввод данных с манипулятора «мышь». Обработка сообщений мыши. Обработка сообщений мыши
- •Ввод данных с клавиатуры. Обработка сообщений от клавиатуры.
- •Понятие фокуса ввода.
- •Вопрос 9: Вывод информации в окно. Механизм перерисовки окна. Вывод информации в окно.
- •Область обновления - update region
- •Механизм перерисовки окна.
- •Вопрос 10:
- •Понятие ресурсов программ. Виды ресурсов. Работа с ресурсами. Меню. Окна диалога.
- •Понятие ресурсов программ. Виды ресурсов.
- •Работа с ресурсами. Меню. Окна диалога.
- •Понятие контекста устройства
- •Вывод графической информации на физическое устройство.
- •Вопрос 12: Рисование геометрических фигур. Графические инструменты. Управление цветом. Палитры цветов.
- •Вопрос 13: Растровые изображения. Вывод растровых изображений. Значки и курсоры. Вывод растровых изображений с эффектом прозрачного фона. Растровые изображения. Значки и курсоры.
- •Вывод растровых изображений.
- •Вопрос 14: Вывод текста. Логические и физические шрифты. Вывод текста.
- •Логические и физические шрифты.
- •Параметры шрифтов.
- •Вопрос 15:
- •Системы координат. Трансформации. Режимы масштабирования.
- •Системы координат. Трансформации.
- •Режимы масштабирования.
- •Вопрос 16: Организация многозадачности в ос Windows. Понятие процесса и потока. Контекст потока. Создание и завершение процессов и потоков. Организация многозадачности в ос Windows.
- •Понятие процесса и потока. Создание и завершение процессов и потоков.
- •Контекст потока.
- •Вопрос 17: Синхронизация потоков одного и того же процесса. Критические секции. Спин-блокировки. Interlocked-функции. Синхронизация потоков одного и того же процесса.
- •Спин-блокироки.
- •Критические секции.
- •Interlocked-функции.
- •Вопрос 18: Синхронизация потоков разных процессов. Объекты синхронизации: флаги, семафоры, события, ожидаемые таймеры.
- •Семафоры
- •События
- •События со сбросом вручную
- •События с авто сбросом
- •Ожидаемые таймеры
- •Вопрос 19: Объекты синхронизации: именованные и неименованные «трубы» (каналы). Именованные трубы.
- •Неименованные трубы.
- •Вопрос 20:
- •Вопрос 23: Отображение файлов в память.
Вопрос 15:
Системы координат. Трансформации. Режимы масштабирования.
Системы координат. Трансформации.
Режимы масштабирования.
Систему координат, единицами измерения которой являются точки устройства вывода - это физическая система координат. Для дисплея физическая система координат характеризуется двумя осями Х и У.
Х – горизонтально направлена вправо. У – вертикально вниз. Координаты – целые числа.
Вывод графических примитивов всегда осуществляется в некоторой логической системе координат, которая может не соответствовать физической.
При выводе, Windows осуществляет перерасчет. В логической системе координат направления осей Х и У можно задать, и единицами измерения могут быть не только пиксели устройства, но и десятые, сотые доли миллиметра и дюйма.
При пересчете Windows осуществляет пересчет логической точки (LP) из логического пространства координат, в физическую точку из физической системы координат (DP).
Это делается за 3 шага:
Параллельный перенос изображения на логической плоскости путем вычитания из координат каждой точки изображения заданных константных значений.
Масштабирование полученного изображения путем масштабирования заданной точки (умножением на заданный коэффициент). Изображение переносится на физическую плоскость.
Параллельный перенос изображения на физической плоскости за счет добавления заданных константных значений.
DX=(LX-XWO)*XVE/XWE+XVO
DY=(LY-YWO)*YVE/YWE+YVO
LX – координата Х в логической системе
XWO – смещение по оси Х в логической системе
XVO – смещение по оси Х в физической системе координат
XVE/XWE – масштабный интерфейс по оси Х
В ОС существуют функции, которые выполняют заданные преобразования для массива точек: LPtoDP() и DPtoLP().
С целью геометрической интерпретации констант в этих формулах были введены понятия условного окна проекции и условного логического окна.
Условное окно проекции - это прямоугольная область физической системы координат, которая соответствует некоторой прямоугольной области логической системы координат.
GetWindowOrg SetWindowOrg
GetViewPortOrg SetViewPortOrg
GetWindowExt SetWindowExt
GetViewPortExt SetViewPortExt
Параметры YWE, XWE, YVE, XVE лишены физического смысла. Физический смысл имеет только их отношение. Значение масштабных коэффициентов регламентируются еще одним параметром в контексте устройства: режим масштабирования (mapping mode). GetMapMode(). SetMapMode().
Режим масштабирования |
Логических единиц |
Физических единиц |
Направление осей | |
Х |
У | |||
MM_TEXT(default) |
1 |
1 pixel |
→ |
↓ |
MM_LOMETRIC |
10 |
1 mm |
→ |
↑ |
MM_HIMETRIC |
100 |
1 mm |
→ |
↑ |
MM_LOENGLISH |
100 |
1 inch |
→ |
↑ |
MM_HIENGLISH |
1000 |
1 inch |
→ |
↑ |
MM_TWIPS |
1440 |
1 inch |
→ |
↑ |
MM_ISOTROPIC |
Задается |
Задается |
→ |
↑ |
MM_ANISOTROPIC |
Задается |
Задается |
→ |
↑ |
MM_ISOTROPIC используется, когда заданная графическая фигура на устройстве должна иметь точные пропорции и формы.
На некоторых устройствах, пиксели не являются квадратными. MM_ISOTROPIC делает поправку на пропорции пикселя, чтобы результат полученного изображения наиболее точно соответствует ожидаемому.
Смещение в пределах логических и физических координат можно задать. Отношение высоты pixel к его ширине называется коэффициентом пропорциональности (aspect ratio).