Дано QPainterPath
Как я могу погладить путь только на внутреннем или внешнем краю пути (или влево или вправо для незакрытых путей)?Поглаживание пути только внутри/снаружи?
QPainter::strokePath()
центрирует перо вдоль пути и заставляет одинаковое количество чернил падать с обеих сторон. Для наглядного примера желаемого эффекта, увидеть эту графику я сделал (для SVG предложений, не имеет):
Я не возражаю, если это делается с помощью какого-то хака, как установка самого пути в качестве отсекающей области (для внутренней) или зоны отсечения (для наружной стороны).
Цель состоит в том, чтобы заполнить закругленный прямоугольник с заполнением с низкой непрозрачностью, а затем просто потушить его с помощью штриха с более низкой непрозрачностью, чтобы имитировать спад в 2 шага. Если ход перекрывает заливку, непрозрачность удваивается, что приводит к разрушению эффекта. Из-за сложной формы простое масштабирование пути не будет работать хорошо, даже если оно может работать для кругов и прямоугольников, выведенных выше.
Отлично, спасибо! – Phrogz