- •1.Графическая концепция
- •2. Свойства примитивов.
- •3. Приложение dampwave.Cpp
- •4. Интерфейс графических устройств (gdi)
- •Общий контекст отображения
- •Контекст отображения для класса окна
- •Личный контекст отображения
- •Родительский контекст отображения
- •Контекст отображения для окна
- •Контекст физического устройства
- •Контекст для устройства display
- •Информационный контекст
- •Контекст для памяти
- •Контекст для метафайла
- •Функция GetDcEx
- •5.Логарифмический график
- •6.Приложение Log.Cpp
Функция GetDcEx
В программном интерфейсе операционной системы Windows версии 3.1 появилась функция GetDCEx , предоставляющая расширенные возможности для получения контекста отображения:
HDC WINAPI GetDCEx(register HWND hwnd,
HRGN hrgnClip, DWORD flags);
Функция возвращает идентификатор полученного контекста отображения или NULL при ошибке.
Параметр hwnd задает идентификатор окна, для которого необходимо получить контекст отображения.
С помощью параметра hrgnClip можно определить область ограничения вывода. Эта область может иметь произвольную форму и являться комбинацией нескольких областей ограничения. Использование областей ограничения будет подробно описано дальше в этой главе.
Параметр flags определяет способ, которым будет образован контекст отображения. Этот параметр можно указывать как логическую комбинацию следующих значений:
Константа |
Описание |
DCX_WINDOW |
Функция возвращает контекст отображения, позволяющий рисовать во всем окне, а не только в его внутренней области |
DCX_CACHE |
Функция получает общий контекст отображения из кеша Windows, даже если окно создано на базе класса стиля CS_OWNDC или CS_CLASSDC |
DCX_CLIPCHILDREN |
Видимые области всех дочерних окон, расположенных ниже окна hwnd, исключаются из области отображения |
DCX_CLIPSIBLINGS |
Видимые области всех окон-братьев (окон, имеющих общих родителей), расположенных выше окна hwnd, исключаются из области отображения |
DCX_PARENTCLIP |
Для отображения используется вся видимая область родительского окна, даже если родительское окно создано с использованием стилей WS_CLIPCHILDREN и WS_PARENTDC. Начало координат устанавливается в левый верхний угол окна hwnd |
DCX_EXCLUDERGN |
Если указан этот флаг, при выводе будет использована область ограничения, заданная параметром hrgnClip |
DCX_INTERSECTRGN |
Используется пересечение области ограничения, заданной параметром hrgnClip, и видимой области полученного контекста отображения |
DCX_LOCKWINDOWUPDATE |
Этот флаг разрешает рисование в окне, заблокированном для рисования функцией LockWindowUpdate . Флаг можно использовать при необходимости рисовать, например, рамку, выделяющую произвольную область экрана |
Контекст отображения, полученный функцией GetDCEx, следует освободить после использования при помощи функции ReleaseDC
5.Ряд Фурье
http://habrahabr.ru/post/196374/
6. Использование идентификатора контекста устройства (hdc)
Параметр функции (hdc) указывает идентификатор контекста отображения, для которого надо изменить выравнивание. Это тот самый идентификатор, который возвращается функцией BeginPaint при обработке сообщения WM_PAINT.
*Применение смотри в пункте 4 данного вопроса.
109. Графические концепции и графические примитивы. Приложение FOURIER.CPP. Логарифмический график. Приложение LOGS.CPP.
1.Смотри предыдущий вопрос
2. Операции над примитивами
Создавать, Удалять, Устанавливать свойства, Получать копии, Перемещать, Поворачивать, Отображать зеркально, Масштабировать, Штриховать, Закрашивать и др.
3. Команды построения графических примитивов
Рассмотрим односложные графические примитивы. Графический примитив может быть отрисован следующими способами:
С помощью команд вводимых их пункта строки меню Рисовать системы AutoCAD.
С помощью пиктограмм панели инструментов, выбирая необходимую из них щелканьем ЛКМ.
С помощью ввода команд с командной строки.
4.Приложение Fourier.cpp
Файл Fourier.cpp - реализация функций быстрого преобразования Фурье по строчкам и столбцам
Текст файла FOURIER.CPP сложный, поскольку программа должна поддерживать работу меню и двух диалоговых окон.
И дальше идёт дичайший код, который я не буду скидывать, ибо уважаю ваш разум.
все кто желает почитать: http://knowledge.allbest.ru/programming/2c0b65625b3bd78b4c53b88421206c26_0.html
далее нажмите клавиши CTRL+F
в поисковой строке введите: «fourier.cpp»
приятного чтения.
