我可以更改从资源(png,jpg)文件创建的QImage
的背景吗?
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 :(得分: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);
}