• Радиальные градиенты
определяются центральной точкой (хс, ус), радиусом r и точкой фокуса (xf, yf), которая дополняет цветовые метки. Центральная точка и радиус определяют окружность. Изменение цвета распространяется во все стороны из точки фокуса, которая может совпадать с центральной точкой или может быть любой другой точкой внутри окружности.• Конические градиенты
определяются центральной точкой (хс, ус) и углом α. Изменение цвета распространяется вокруг центральной точки подобно перемещению секундной стрелки часов.До сих пор мы говорили о настройках пера, кисти и шрифта рисовальщика.
• Кисть фона (background brush)
используется для заполнения фона геометрических фигур (то есть под шаблоном кисти), текста или пиксельной карты, когда в качестве• Исходная точка кисти (brush origin)
задает точку начала отображения шаблона кисти, в качестве которой обычно используется точка верхнего левого угла виджета.• Границы области рисования (clip region)
определяют область рисования устройства. Операции рисования, которые выходят за пределы этой области, игнорируются.• Область отображения, окно и универсальная матрица преобразования (viewport, window и world matfix)
определяют способ перевода логических координат• Режим композиции (composition mode)
определяет способ взаимодействия новых выводимых пикселей с пикселями, уже присутствующими на устройстве рисования. По умолчанию используется режим «source over», при котором новые пиксели рисуются поверх существующих. Этот режим поддерживается только определенными устройствами, и он рассматривается позже в данной главе.В любой момент времени мы можем сохранить в стеке текущее состояние рисовальщика, вызывая функцию
Преобразования рисовальщика
В используемой по умолчанию координатной системе рисовальщика
Необходимо помнить об одной важной особенности: центр пикселя имеет «полупиксельные» координаты. Например, пиксель в верхнем левом углу занимает область между точками (0, 0) и (1, 1), а его центр находится в точке (0.5, 0.5). Если мы просим
На первый взгляд эта особенность представляет лишь теоретический интерес, однако она имеет важные практические последствия. Во-первых, смещение +0.5 действует только при отключении сглаживания линий (режим по умолчанию); если режим сглаживания линий включен и мы пытаемся нарисовать пиксель черного цвета в точке (100, 100),
При начертании таких фигур, как линии, прямоугольники и эллипсы, действуют аналогичные правила. На рис 8.7 показано, как изменяется результат вызова