#pragma execution_character_set("utf-8")#include <QtCore/QCoreApplication>#include <QImage>#include <QRgb>#include <QVector>#include <QFile>#include <QDir>#include <QFileInfo>#include <QDebug>#include <Windows.h>bool isPixFit(QRgb color1, QRgb color2){ int deltaR = qAbs<int>(qRed(color1) - qRed(color2)); int deltaG = qAbs<int>(qGreen(color1) - qGreen(color2)); int deltaB = qAbs<int>(qBlue(color1) - qBlue(color2)); if (deltaR < 0x10 && deltaG < 0x10 && deltaB < 0x10) return TRUE; return FALSE;}int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QDir dir("C:\\Users\\16481\\Desktop\\pt"); for (size_t i = 0; i < dir.count(); i++) { QString fileFull = dir[i]; // 文件全称 QFileInfo fileInfo(dir, fileFull); QString fileSuffix = fileInfo.suffix(); if (fileSuffix == "bmp") { QImage img(dir.absoluteFilePath(fileFull)); QRgb rgb = QRgb(0x7fb0b3); // 把相似的颜色统一改为0x7fb0b3 for (int x = 0; x < img.width(); x++) { for (int y = 0; y < img.height(); y++) { if (isPixFit(img.pixel(x, y), rgb)) { img.setPixel(x, y, rgb); } } } // 把图片4个角也改为0x7fb0b3,使之被视为透明图 img.setPixel(0, 0, rgb); img.setPixel(0, img.width() - 1, rgb); img.setPixel(img.height() - 1, 0, rgb); img.setPixel(img.height() - 1, img.width() - 1, rgb); // 保存文件 img.save(dir.absoluteFilePath(fileFull)); qDebug() << fileFull + QString(" process finished!"); } } return a.exec();}