Вы можете обойтись без временной растровой карты, нарисовав прямоугольник с размером вашей растровой картинки в вашей цели:
QPixmap const src(":/images/img.png");
painter->fillRect(QRect(QPoint(0, 0), src.size()), Qt::red);
painter->setCompositionMode(QPainter::CompositionMode_Multiply);
painter->drawPixmap(QPoint(0, 0), src);
Если у вашей растровой карты есть прозрачные области, вы можете добавить painter->setClipRegion(src.mask());
перед вызовом fillRect
.