Я довольно новичок в Qt и много читаю и выполняю упражнения.
Я искал это довольно много, но я не мог найти никаких примеров.
У меня есть объект QPixmap, в который я загружаю изображение .png.
Мне нужно создать копию этого QPixmap с примененной к нему темной маской.
По сути, я хочу, чтобы изображение этого QPixmap было покрыто слоем сплошного черного цвета, у которого непрозрачность установлена на 50%.
Я знаю, как установить непрозрачность изображения QPixmap, но как я могу добавить слой сплошного черного цвета с непрозрачностью на нем?
Спасибо!
Вы можете использовать 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);
Эффект (до / после):
против
Непрозрачную черную рамку можно удалить, установив полупрозрачную ручку перед окраской.
Скопируйте растровое изображение перед применением «маски», если вы хотите сохранить оригинал.
Других решений пока нет …