需求: 需要将QImage加载的图片里指定的颜色值替换成另一种指定的颜色。
示例代码:
QImage image; QString filename=QFileDialog::getOpenFileName(this,"选择打开的文件","C:/",tr("*.bmp *.jpg *.png")); //filename==选择文件的绝对路径 //加载图片 image.load(filename); int w,h; //得到图片的宽高 w=image.width(); h=image.height(); //遍历每个像素点 for(int i=0;i<h;i++) { for(int j=0;j<w;j++) { QRgb rgb=image.pixel(j,i); if(rgb==0) //如果是透明色(全透明的颜色). 就填充成黑色 { image.setPixel(j,i,0xFF000000); } } } //保存为新图片 image.save("D:/linux-share-dir/test/123.png");