Класс 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/archives/qt-5.11/qpainterpathstroker.html