Qt,C++ Проблема с QPainter
Суть в том что я хочу обрезать с помощью QPainter::CompositionMode часть исходного изображения(сделать прозрачной эту часть) но при применении мода(разных его вариаций) я всегда получаю или полный черный экран или частично черный как на скрине. Как убрать эту черную заливку и сделать ее прозрачной?
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
this->resize(700,500);
sourceImage=new QImage("./texture/ball.png");
destinationImage=new QImage("./texture/mask1.png");
}
void MainWindow::paintEvent(QPaintEvent *e) {
Q_UNUSED(e);
doPainting();
}
void MainWindow::doPainting() {
QPainter *painter =new QPainter(this);
painter->drawImage(QRectF(0,150,200,200),*sourceImage);
painter->drawImage(QRectF(500,150,200,200),*destinationImage);
painter->drawImage(QRectF(250,150,200,200),*sourceImage);
painter->setCompositionMode(QPainter::CompositionMode_Xor);
painter->drawImage(QRectF(250,150,200,200),*destinationImage);
}
