2014-09-03 2 views
0

Можно ли изменить фон QImage, созданного из файла ресурса (png, jpg)?QImage, возможно изменить фон ресурса image (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?

+1

не можешь просто пройти QImage :: Format_RGB32 к CTOR в QImage в? – Garrappachc

+0

Вы хотите сделать прозрачность недействительной? Хорошая идея, но как я мог установить цвет фона, который я хочу иметь? –

ответ

1

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

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); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^