Класс QPainterPathStroker
Класс QPainterPathStroker используется для генерации залитых контуров для заданной пути рисования. Подробнее...
| Заголовок: | #include <QPainterPathStroker> |
| qmake: | QT += gui |
| С момента: | Qt 4.1 |
Открытые функции
| QPainterPathStroker() | |
| QPainterPathStroker(const QPen &pen) | |
| ~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 |
Подробное описание
Класс QPainterPathStroker используется для генерации залитых контуров для заданной пути рисования.
Вызывая функцию createStroke() и передавая заданную QPainterPath в качестве аргумента, создается новая путь рисования, представляющая контур заданной пути. Затем созданную путь рисования можно заполнить, чтобы нарисовать контур исходной пути рисования.
Вы можете управлять различными аспектами дизайна (ширина, стили закруглений, стили соединений и узор пунктирной линии) с помощью следующих функций:
Функция setDashPattern() принимает как объект Qt::PenStyle, так и векторное представление узора в качестве аргумента.
Кроме того, вы можете указать порог кривой, контролируя точность, с которой рисуется кривая, с помощью функции setCurveThreshold(). Значение по умолчанию для порога хорошо подобрано (0,25), и обычно вам не нужно его изменять. Тем не менее, вы можете сделать внешний вид кривой более плавным, уменьшив его значение.
Также вы можете управлять пределом смены угла для сгенерированного контура, используя функцию setMiterLimit(). Предел смены угла описывает, насколько далеко от каждого соединения может простираться соединение смены угла. Предел указывается в единицах ширины, поэтому пиксельное значение предела смены угла будет miterlimit * width. Это значение используется только в том случае, если стиль соединения — Qt::MiterJoin.
Путь рисования, сгенерированный функцией createStroke(), должен использоваться только для обводки заданной пути рисования. В противном случае это может привести к неожиданному поведению. Сгенерированные контуры также требуют правила заполнения Qt::WindingFill, которое устанавливается по умолчанию.
Документация по функциям-членам
QPainterPathStroker::QPainterPathStroker()
Создает новый обводчик.
QPainterPathStroker::QPainterPathStroker(const QPen &pen)
Создает новый обводчик, основанный на pen.
Эта функция была добавлена в Qt 5.3.
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.9/qpainterpathstroker.html