QImage将图片白色背景修改为透明色
// 改透明色 QImage setImageColor(QImage img) { QImage img_color = img.convertToFormat(QImage::Format_RGBA8888_Premultiplied, Qt::NoFormatConversion); int t_w = img_color.width(); int t_h = img_color.height(); for (int i=0;i<t_w;++i) { for(int j=0;j<t_h;++j) { QColor pix_color = img_color.pixelColor(i,j); // 一般大于240就可以判断为白色,但是我这里是等于240,所以我设置的大于200就判断为白色 // qDebug()<<"r:"<<pix_color.red() <<" r:"<<pix_color.green()<<" b:"<<pix_color.blue(); if(pix_color.red() > 200 && pix_color.green() > 200 && pix_color.blue() > 200) { pix_color.setAlpha(0); img_color.setPixelColor(i,j,pix_color); } } } //img_color.save("F:\\zhangsan.png", "png"); return img_color; }