Qt中对图片中的颜色进行修改

由Qimage的colorTable方法获得图片中全部的颜色,然后找到你要更换的颜色,把颜色的编号交给setColor方法就可以了,具体请看qt的文档。

QImage image(":/image//image/contacts.png");
QRgb rgb = image.pixel(image.width()/2,image.height()/2);
QVector 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);
    }
}

你可能感兴趣的:(Qt小贴士)