Нарисуйте QPainterPath с увеличением / уменьшением и без внутренних контуров

Я работаю над редактором изображений в Qt и пытаюсь реализовать инструмент выбора. Я планирую использовать путь QPainterPath, чтобы обрезать область рисования.

У меня проблемы с рисованием пути, чтобы пользователь мог видеть, что выбрано. Я могу использовать QPainter :: drawPath, но когда я увеличиваю, неясно, какие именно пиксели выбраны. Кроме того, контур рисуется даже внутри выделенных пикселей.

Что я хочу (скриншот из Paint.NET)
введите описание изображения здесь

Что я получаю сейчас (используя трансформации)
введите описание изображения здесь

Единственный способ исправить это — перебрать каждую точку на рисунке и использовать QPainterPath :: contains для создания нового увеличенного пути, который имеет неровные края и не имеет внутренних контуров, но это ужасно неэффективно.

РЕДАКТИРОВАТЬ:
Если есть какой-то простой способ обвести изображение, я мог бы нарисовать выделение без сглаживания на отдельном изображении, растянуть его, добавить контур, а затем нарисовать его поверх изображения, но я не могу найти способ обвести изображение.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]