Как я могу применить слой темной маски на QPixmap?

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

У меня есть объект QPixmap, в который я загружаю изображение .png.
Мне нужно создать копию этого QPixmap с примененной к нему темной маской.

По сути, я хочу, чтобы изображение этого QPixmap было покрыто слоем сплошного черного цвета, у которого непрозрачность установлена ​​на 50%.

Я знаю, как установить непрозрачность изображения QPixmap, но как я могу добавить слой сплошного черного цвета с непрозрачностью на нем?

Спасибо!

2

Решение

Вы можете использовать QPainter а ты полупрозрачный QBrush нарисовать этот темный слой на вашем QPixmap,

Если предположить, pic это QPixmap загружен вашим изображением:

QPainter p(&pic);
QBrush b(QColor(0,0,0,128)); // adjust color and alpha to taste
p.setBrush(b);
p.drawRect(0, 0, 200, 200);

Эффект (до / после):

введите описание изображения здесь    против   
введите описание изображения здесь

Непрозрачную черную рамку можно удалить, установив полупрозрачную ручку перед окраской.
Скопируйте растровое изображение перед применением «маски», если вы хотите сохранить оригинал.

5

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

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

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