[Предыдущая: Устройства рисования и серверные части] [Система рисования] [Следующая: Система координат] Отрисовка и заливка
|
QPainterPath Траектория рисовальщика - объект, состоящий из линий и кривых. Например, прямоугольник состоит из линий, а эллипс состоит из кривых. Основное преимущество траекторий рисовальщика над обычными операциями рисования заключается в том, что достаточно создать сложные фигуры один раз; затем их можно рисовать не один раз вызывая только функцию QPainter::drawPath(). Объект QPainterPath можно использовать для заполнения, рисования контура и обрезки. Чтобы создать заливаемые контуры для заданной траектории рисовальщика используется класс QPainterPathStroker. |
Линии и контуры рисуются используя класс QPen. Перо определяется своим стилем (т.е. своим типом линии, line-type), шириной, кистью, способом рисования точек окончания (стилем окончаний, cap-style) и как рисуется место соединения двух соединенных линий (стиль объединения, join-style). Кистью пера является объект QBrush, используемый для заполнения штрихов, создаваемых пером, т.е. класс QBrush определяет узор-заполнитель (fill pattern).
QPainter также может рисовать выровненный текст и растровые изображения.
При отрисовке текста шрифт задается используя класс QFont. Qt будет использовать шрифт с заданными атрибутами или, если нет соответствующего шрифта, то Qt будет использовать наиболее похожий установленный шрифт. Атрибуты шрифта, которые действительно используются, можно получить используя класс QFontInfo. Кроме того, класс QFontMetrics предоставляет размеры шрифта, а класс QFontDatabase предоставляет информацию о шрифтах, доступных в основной оконной системе.
Обычно QPainter рисует в "естественной" системе координат, но может выполнять преобразование вида и мировое преобразование, используя класс QTransform. Для получения дополнительной информации смотрите документацию Система координат, которая также описывает процесс визуализации, т.е. соотношение между логическим представлением и визуализируемыми пикселями, а также преимущества сглаженного рисования.
Сглаженное рисование Когда идет рисование, визуализация пикселя контролируется подсказкой визуализации (render hint) QPainter::Antialiasing. Перечисление QPainter::RenderHint используется для указания флагов QPainter'у, которые могут или не могут быть соблюдены любым заданным механизмом. Значение QPainter::Antialiasing указывает на то, что механизм должен сгладить края примитивов если это возможно, т.е. сгладить края используя разную интенсивность цвета. |
Фигуры заполняются с использованием класса QBrush. Кисть определяется своим цветом и стилем (т.е. своим узором-заполнителем).
Все цвета в Qt представляются классом QColor, который поддерживает цветовые модели RGB, HSV и CMYK. QColor также поддерживает альфа-смешивание контуров и внутренних областей (задавая эффект прозрачности), а класс является независимым от платформы и устройства (цвета отображаются на аппаратное обеспечение с использованием класса QColormap). Для получения дополнительной информации смотрите документацию класса QColor.
При создании нового виджета рекомендуется использовать цвета палитры виджета вместо жестко запрограммированных конкретных цветов. Все виджеты в Qt содержат палитру и используют свою палитру для отрисовки самих себя. Палитра виджета представляется классом QPalette, который содержит группы цветов для каждого состояния виджета.
Доступные узоры-заполнители описываются перечислением Qt::BrushStyle. Оно включает базовые шаблоны, простирающиеся от равномерного цвета до очень разреженного шаблона, различные комбинации линий, градиентные заливки и текстуры. Qt предоставляет класс QGradient для определения пользовательских градиентных заливок, в то время как текстурные шаблоны задаются используя класс QPixmap.
QGradient Класс QGradient используется в сочетании с QBrush для задания градиентных заливок. В настоящее время Qt поддерживает три типа градиентных заливок: Линейные градиенты интерполируют цвета от начальной до конечной точки, радиальные градиенты интерполируют цвета между фокусом и точками на окружности вокруг нее, а конические градиенты интерполируют цвета вокруг центральной точки. |
[Предыдущая: Устройства рисования и серверные части] [Система рисования] [Следующая: Система координат]
Авторские права © 2010 Nokia Corporation и/или её дочерние компании | Торговые марки | Qt 4.6.4 |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |