|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Эллипсы
Для рисования эллипсов предназначена функция Ellipse, прототип которой приведен ниже: BOOL E11ipse(HDC hdc, int xLeft, int yTop, int xRight. int yBottom); Функция рисует эллипс в ограничивающем прямоугольнике, заданном координатами xLeft, yTop, xRight, yBottom. Все сказанное выше о влиянии атрибутов в контексте устройства на процесс рисования прямоугольников распространяется также и на рисование эллипсов функцией Ellipse.
Кисть — это растр размером 8x8 пикселов, который при закрашивании области дублируется в горизонтальном и вертикальном направлении. Когда Windows использует смешивание (dithering) для отображения большего числа цветов, чем доступно на дисплее, то на самом деле для этого используется кисть. На монохромном дисплее, например, смешивание черных и белых пикселов позволяет получить 64 разных оттенка серого цвета. На цветных видеосистемах полутона тоже реализуются при помощи подобных растровых образов, но с гораздо более широким набором доступных цветов. Win32 GDI предоставляет несколько функций для создания объектов логических кистей. Логическая кисть описывает требования, предъявляемые к заливке со стороны приложения. Эти требования не всегда совпадают с возможностями физических устройств. Драйверы устройств поддерживают собственные структуры данных, определяющие реализацию логической кисти. Такие внутренние объекты называются физическими кистями. Для дескрипторов логических кистей зарезервирован тип HBRUSH (handle to a brush), поэтому новая кисть объявляется следующим образом: HBRUSH hBrush; Значение дескриптора получают вызовом соответствующей функции. Вид вызываемой функции зависит от типа кисти. Так же как и при работе с перьями, созданные кисти выбираются в контекст устройства с помощью функции SelectObject, после чего заливка всех замкнутых фигур осуществляется выбранной кистью. Когда кисть перестает быть нужной, рекомендуется вернуть в контекст устройства прежнюю кисть, а ненужную кисть удалить при помощи функции DeleteObject. В разделе «Простые перья» были приведены возможные сценарии использования нескольких перьев в одном приложении. Аналогичные сценарии можно использовать и для работы приложения с несколькими кистями. Стандартные кисти Стандартные кисти приведены в табл.. Таблица Стандартные кисти BLACK_BRUSH Черная кисть DKGRAY_BRUSH Темно-серая кисть DC_BRUSH Кисть DC — сплошная цветная кисть; по умолчанию имеет белый цвет; цвет может быть изменен функцией SetDCBrushColor GRAY_BRUSH Серая кисть HOLLOW_BRUSH Пустая кисть (заливки нет) LTGRAY_BRUSH Светло-серая кисть NULL_BRUSH To же, что и HOLLOW_BRUSH WHITE_BRUSH Белая кисть, которая используется по умолчанию Все кисти, приведенные в таблице, — сплошные, то есть все 8x8 пикселов растра имеют один и тот же цвет. Кисть DC, реализованная только в Windows 2000, относится к числу новых средств GDI. Так же как и перо DC, кисть DC позволяет изменять свой цвет после ее выбора в контекст устройства. Для этого предназначена функция SetDCBrushColor. Чтобы получить дескриптор стандартной кисти, достаточно вызвать функцию GetStockObject с одной из констант, приведенных в табл, например: hBrush = (HBRUSH) GetStockObject(GRAY_BRUSH);
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |