QImage, можно изменить фон изображения ресурса (png / jpg)

Могу ли я изменить фон QImage создан из файла ресурсов (png, jpg)?

    static QPixmap changeBackground(const QString resource, Qt::GlobalColor color)
{
QImage i(resource); // load png/img
i.fill(color);
return QPixmap::fromImage(i);
}

Результат моего испытания — полностью заполненное фоновое цветное изображение. Есть ли шанс изменить прозрачный фон файла ресурсов png / jpg?

0

Решение

Как я это сделал, улучшения приветствуются:

QPixmap MyIconClass::changeBackground(const QString resource, Qt::GlobalColor backgroundColor)
{
QImage resSource(resource);
QImage destBackground(resSource.size(), QImage::Format_RGB32);
destBackground.fill(backgroundColor);
QPainter p(&destBackground);
p.setCompositionMode(QPainter::CompositionMode_SourceAtop);
p.drawImage(0, 0, resSource);
return QPixmap::fromImage(destBackground);
}
1

Другие решения


По вопросам рекламы [email protected]