Раскрасить QPixmap в круг?

Я могу нарисовать QPixmap просто хорошо:

QPainter painter;
painter.drawPixmap(x, y, w, h, my_pixmap);

И я также могу нарисовать круг с:

painter.drawArc(x, y, w, h, a, alen);

Теперь я хочу объединить эти два; мое растровое изображение не всегда может быть кругом (= прозрачные углы), поэтому я не могу просто нарисовать все растровое изображение на экране.
Это означает, что мне нужно рисовать только центр моего растрового изображения.

Вот изображение, чтобы сделать его более понятным:

верблюд

Это возможно?

0

Решение

Да, вы должны быть в состоянии сделать это, установив путь обрезки на художнике. Примерно так должно работать:

QPainterPath path;
path.addEllipse(x, y, w, h);
painter.setClipPath(path);
painter.drawPixmap(x, y, w, h, my_pixmap);
5

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

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

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