Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LEKCII.doc
Скачиваний:
9
Добавлен:
17.09.2019
Размер:
1.12 Mб
Скачать

Начальные координаты кисти.

Начальные координаты кисти (brush origin) используются для определения координат точки внутри кисти, которая будет служить начальной при закраске внутренней области фигуры или окна. По умолчанию используются координаты (0,0), соответствующие верхнему левому углу кисти (в системе координат, выбранной в контекст отображения по умолчанию).

Приложение может изменить начальные координаты кисти при помощи функций SetBrushOrg и UnrealizeObject .

Режим закрашивания многоугольников.

Существует два режима закрашивания сложных самопересекающихся многоугольников (polygon - filling mode): альтернативный (ALTERNATE), выбранный в контекст отображения по умолчанию, и режим заполнения (WINDING). В режиме заполнения область самопересечения закрашивается. В альтернативном режиме закрашиваются только области между нечетными и четными сторонами многоугольника, в результате чего область пересечения может оказаться либо закрашенной, либо незакрашенной. Для изменения режима закрашивания многоугольников предназначена функция SetPolyFillMode .

Перо.

Для того чтобы нарисовать линию или геометрическую фигуру, приложение Windows должно создать собственное перо (pen) или воспользоваться пером, выбранным в контекст отображения по умолчанию (черное перо шириной в один пиксель).

Можно создать новое перо, изменив его ширину, цвет или стиль (сплошная, пунктирная, штриховая и штрихпунктирная линии, а также линия, в которой на одну черточку приходится по две точки). К сожалению, можно изменить ширину только сплошной линии.

Для работы с перьями приложение Windows должно использовать функции CreatePen , CreatePenIndirect , SelectObject .

Текущая позиция пера.

Для рисования линий в интерфейсе GDI предназначена функция LineTo, которая использует понятие текущей позиции пера (current pen position). Функция LineTo рисует линию из точки, соответствующей текущей позиции пера в точку, указанную при помощи параметров. Для установки текущей позиции пера предназначена функция MoveTo .

По умолчанию текущая позиция пера равна значению (0,0), что в системе координат, выбранной по умолчанию, соответствует верхнему левому углу внутренней области окна. Заметим, что текущая позиция используется интерфейсом GDI только для рисования линий.

Изображение bitmap.

В контекст отображения можно выбрать изображение bitmap и затем отобразить его в окне или использовать в меню. По умолчанию в контекст отображения не выбирается никакое изображение bitmap. Приложение должно выбрать его самостоятельно, используя функцию SelectObject. В программном интерфейсе GDI имеются и другие функции для работы с изображениями bitmap. Это функции CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap .

Приложения Windows широко пользуются изображениями bitmap, так как они очень удобны для отображения небольших пиктограмм или больших и сложных многоцветных рисунков, полученных при помощи специальных графических редакторов или сканеров.

Режим растяжения.

Приложение Windows может копировать прямоугольные участки изображений bitmap, выполняя при этом масштабирование, т. е. сжатие или растяжение. Для такого копирования может быть использована, например, функция StretchBlt, которую мы рассмотрим в главе, посвященной изображениям bitmap.

Режим растяжения (stretching mode) влияет на способ, с помощью которого происходит масштабирование изображения bitmap. По умолчанию используется режим BLACKONWHITE, при котором два или большее количество соседних пикселей преобразуются в один пиксель при помощи логической операции "ИЛИ". В результате такого преобразования получается черный пиксель, если в исходном изображении любой пиксель из преобразуемой группы имеет черный цвет. Для того чтобы получился белый пиксель, все пиксели исходного изображения в преобразуемой группе пикселей должны быть белого цвета. В режиме BLACKONWHITE черный цвет преобладает над белым цветом.

Вы можете изменить режим растяжения, вызвав функцию SetStretchBltMode . При использовании режима WHITEONBLACK пиксели объединяются при помощи логической операции "ИЛИ", при этом в полученном изображении будет преобладать белый цвет. В режиме COLORONCOLOR в процессе преобразования могут быть полностью удалены отдельные строки или столбцы пикселей, что иногда дает хорошие результаты.

Однако, как правило, масштабирование изображений bitmap приводит к существенному ухудшению качества при любом режиме растяжения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]