Класс 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)
Устанавливает ширину создаваемого контура painter path в 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.15/qpainterpathstroker.html