由Qimage的colorTable方法获得图片中全部的颜色,然后找到你要更换的颜色,把颜色的编号交给setColor方法就可以了,具体请看qt的文档。
QImage image(":/image//image/contacts.png");
QRgb rgb = image.pixel(image.width()/2,image.height()/2);
QVector<QRgb> rgbVector = image.colorTable();
for (int i = 0; i < rgbVector.size(); ++i)
{
if(rgbVector.at(i) == rgb)
{
QRgb rgb2 = QColor(0,255,0).rgba();//替换的颜色可以是透明的,比如QColor(0,255,0,0)。
image.setColor(i,rgb2);
}
}