1 #include "autocolorfilter.h"
5 AutoColorFilter::AutoColorFilter()
8 void AutoColorFilter::applyFilter(QImage &image)
10 int outputRed,outputGreen,outputBlue,cg,dr,dg,db,inputRed,inputBlue,inputGreen;
11 for(int i=0;i<image.width();i++)
12 for(int j=0;j<image.height();j++)
14 QColor inPixel(image.pixel(i,j));
15 inputRed=inPixel.red();
16 inputBlue=inPixel.blue();
17 inputGreen=inPixel.green();
19 cg=(inputBlue+inputGreen+inputRed)/3;
24 outputBlue=inputBlue-dr;
25 outputGreen=inputGreen-dg;
26 outputRed=inputRed-dr;
28 if(outputBlue<0) outputBlue=0;
29 if(outputGreen<0) outputGreen=0;
30 if(outputRed<0) outputRed=0;
32 if(outputBlue>255) outputBlue=255;
33 if(outputGreen>255) outputGreen=255;
34 if(outputRed>255) outputRed=255;
37 QColor outPixel(outputRed,outputGreen,outputBlue);
38 image.setPixel(i,j,outPixel.rgb());