Класс 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(). Предел скругления описывает расстояние от каждого соединения, на которое может быть расширено соединение с типом скругления Qt::MiterJoin. Предел задаётся в единицах ширины, так что пиксельное значение предела скругления будет 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.6/qpainterpathstroker.html