C++ QImage,可更改资源图像的背景(png/jpg)
我可以更改从资源(png、jpg)文件创建的C++ QImage,可更改资源图像的背景(png/jpg),c++,qimage,qt5.3,C++,Qimage,Qt5.3,我可以更改从资源(png、jpg)文件创建的QImage的背景吗 我的试验结果是一个充满背景色的图像。是否有可能更改png/jpg资源文件的透明背景?我是如何做到的,欢迎改进: QPixmap MyIconClass::changeBackground(const QString resource, Qt::GlobalColor backgroundColor) { QImage resSource(resource); QImage destBackground(resSou
QImage
的背景吗
我的试验结果是一个充满背景色的图像。是否有可能更改png/jpg资源文件的透明背景?我是如何做到的,欢迎改进:
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);
}
难道你不能将QImage::Format_RGB32传递给QImage的ctor吗?你的意思是使透明度无效吗?好主意,但是我怎样才能设置我想要的背景色呢?
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);
}