Класс QPainterPathStroker
Класс QPainterPathStroker используется для генерации залитых контуров для заданной траектории рисования. Подробнее...
| Заголовок: | #include <QPainterPathStroker> |
| qmake: | QT += gui |
| С тех пор: | Qt 4.1 |
Этот класс был представлен в Qt 4.1.
Открытые функции
| QPainterPathStroker(const QPen &pen) | |
| QPainterPathStroker() | |
| ~QPainterPathStroker() | |
| Qt::PenCapStyle | capStyle() const |
| QPainterPath | createStroke(const QPainterPath &path) const |
| qreal | curveThreshold() const |
| qreal | dashOffset() const |
| QVector<qreal> | dashPattern() const |
| Qt::PenJoinStyle | joinStyle() const |
| qreal | miterLimit() const |
| void | setCapStyle(Qt::PenCapStyle style) |
| void | setCurveThreshold(qreal threshold) |
| void | setDashOffset(qreal offset) |
| void | setDashPattern(Qt::PenStyle style) |
| void | setDashPattern(const QVector<qreal> &dashPattern) |
| void | setJoinStyle(Qt::PenJoinStyle style) |
| void | setMiterLimit(qreal limit) |
| void | setWidth(qreal width) |
| qreal | width() const |
Подробное описание
Вызывая функцию createStroke() и передавая заданную QPainterPath в качестве аргумента, создаётся новая траектория рисования, представляющая контур заданной траектории. Затем созданную траекторию рисования можно заполнить, чтобы нарисовать контур исходной траектории рисования.
Вы можете управлять различными аспектами дизайна (шириной, стилями заглушек, стилями соединений и пунктирным узором) с помощью следующих функций:
Функция setDashPattern() принимает как объект Qt::PenStyle, так и векторное представление шаблона в качестве аргумента.
Кроме того, вы можете указать порог кривой, контролируя точность, с которой рисуется кривая, используя функцию setCurveThreshold(). Пороговое значение по умолчанию является хорошо подобранным значением (0,25), и обычно его изменять не требуется. Однако вы можете сделать кривую более плавной, уменьшив ее значение.
Вы также можете контролировать предел обрезки для сгенерированного контура, используя функцию setMiterLimit(). Предел обрезки описывает, насколько далеко от каждого соединения может распространяться соединение по типу обрезки. Предел задается в единицах ширины, поэтому пиксельная граница обрезки будет miterlimit * width. Это значение используется только в случае, если стиль соединения — Qt::MiterJoin.
Траекторию рисования, сгенерированную функцией createStroke(), следует использовать только для контурирования заданной траектории рисования. В противном случае это может привести к непредсказуемому поведению. Сгенерированные контуры также требуют правила Qt::WindingFill, которое устанавливается по умолчанию.
Документация по функциям-членам
QPainterPathStroker::QPainterPathStroker(const QPen &pen)
Создаёт новый обводчик, основанный на pen.
Эта функция была представлена в Qt 5.3.
QPainterPathStroker::QPainterPathStroker()
Создаёт новый обводчик.
QPainterPathStroker::~QPainterPathStroker()
Удаляет обводчик.
Qt::PenCapStyle QPainterPathStroker::capStyle() const
Возвращает стиль заглушки сгенерированных контуров.
См. также setCapStyle().
QPainterPath QPainterPathStroker::createStroke(const QPainterPath &path) const
Генерирует новую траекторию, которая представляет собой заполненную область, представляющую контур заданной path.
Различные аспекты дизайна контура основаны на свойствах обводчика: width(), capStyle(), joinStyle(), dashPattern(), curveThreshold() и miterLimit().
Сгенерированную траекторию следует использовать только для контурирования заданной траектории рисования. В противном случае это может привести к непредсказуемому поведению. Сгенерированные контуры также требуют правила Qt::WindingFill, которое устанавливается по умолчанию.
qreal QPainterPathStroker::curveThreshold() const
Возвращает порог сглаживания кривых для сгенерированных контуров.
См. также setCurveThreshold().
qreal QPainterPathStroker::dashOffset() const
Возвращает смещение пунктира для сгенерированных контуров.
См. также setDashOffset().
QVector<qreal> QPainterPathStroker::dashPattern() const
Возвращает пунктирный узор для сгенерированных контуров.
См. также setDashPattern().
Qt::PenJoinStyle QPainterPathStroker::joinStyle() const
Возвращает стиль соединения сгенерированных контуров.
См. также setJoinStyle().
qreal QPainterPathStroker::miterLimit() const
Возвращает предел обрезки для сгенерированных контуров.
См. также setMiterLimit().
void QPainterPathStroker::setCapStyle(Qt::PenCapStyle style)
Устанавливает стиль заглушки сгенерированных контуров на style. Если установлен пунктирный узор, каждый сегмент шаблона подвергается стилю заглушки style.
См. также capStyle().
void QPainterPathStroker::setCurveThreshold(qreal threshold)
Устанавливает порог сглаживания кривых, контролирующий точность, с которой рисуется кривая сгенерированных контуров.
Пороговое значение по умолчанию является хорошо подобранным значением (0,25), и обычно его изменять не требуется. Однако вы можете сделать кривую более плавной, уменьшив ее значение.
См. также curveThreshold().
void QPainterPathStroker::setDashOffset(qreal offset)
Устанавливает смещение пунктира для сгенерированных контуров на offset.
См. документацию для QPen::setDashOffset() для описания смещения пунктирной линии.
См. также dashOffset().
void QPainterPathStroker::setDashPattern(Qt::PenStyle style)
Устанавливает шаблон пунктирной линии для создаваемых контуров в style.
См. также dashPattern().
void QPainterPathStroker::setDashPattern(const QVector<qreal> &dashPattern)
Это перегруженный метод.
Устанавливает шаблон пунктирной линии для создаваемых контуров в dashPattern. Этот метод позволяет указать собственный шаблон пунктирной линии.
Каждый элемент вектора содержит длины тире и пробелов в штрихе, начиная с первого тире в первом элементе, первого пробела во втором элементе и чередуя тире и пробелы для каждой последующей пары элементов.
Вектор может содержать нечетное число элементов, в этом случае последний элемент будет расширен на длину первого элемента при повторении шаблона.
void QPainterPathStroker::setJoinStyle(Qt::PenJoinStyle style)
Устанавливает стиль соединения создаваемых контуров в style.
См. также joinStyle().
void QPainterPathStroker::setMiterLimit(qreal limit)
Устанавливает предел сжатия создаваемых контуров в limit.
Предел сжатия описывает расстояние от каждого соединения, на которое может распространяться соединение типа сжатие. Предел задается в единицах текущей ширины. Таким образом, пиксельный предел сжатия будет miterlimit * width.
Это значение используется только если стиль соединения Qt::MiterJoin.
См. также miterLimit().
void QPainterPathStroker::setWidth(qreal width)
Устанавливает ширину создаваемой траектории обводки в width.
Создаваемые контуры будут приблизительно расширяться на 50% от width с каждой стороны исходного контура заданной входной траектории.
См. также width().
qreal QPainterPathStroker::width() const
Возвращает ширину создаваемых контуров.
См. также setWidth().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qpainterpathstroker.html