QPixmap image;
QStringList parts = id.split('?');
QPixmap sourcePixmap(imageDir + parts.at(0) + ".png");
+ QPixmap alphaMask(sourcePixmap);
if (size) {
*size = sourcePixmap.size();
if (parts.length() > 1) {
if (QColor::isValidColor(parts.at(1))) {
QPainter painter(&sourcePixmap);
- painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
+ painter.setCompositionMode(QPainter::CompositionMode_SoftLight);
painter.fillRect(sourcePixmap.rect(), parts.at(1));
+
+ painter.setCompositionMode(QPainter::CompositionMode_DestinationIn);
+ painter.drawPixmap(sourcePixmap.rect(), alphaMask);
painter.end();
}
}