Накладываем одно изображение на другое в Qt

При программировании gui часто возникает необходимость выводить какоелибо изображение поверх другого. В Qt это делается при помощи QPainter.

Оприделим переменную изображения:

QImage resultImage(«path_to_image»);

В качестве параметра задаём путь к изображению.

Теперь зададим пеинтер:

QPainter resultPainter(&resultImage);

После чего установим режим наложения:

resultPainter.setCompositionMode(QPainter::CompositionMode_SourceOver);

Я указал такой режим, при котором налагаемое изображение будет отрисовано выше исходного.

Вот все режимы:

 

Теперь осталось только нарисовать новое изображение:

resultPainter.drawImage(x,y,image);

x,y — координаты начала рисования.

Завершаем рисование и сохраняем результат в виде файла:

resultPainter.end();

resultImage.save(«result.png»);

На этом всё..

 

Источник: malimar.ru

Technology United