1 #include "sepiafilter.h"
5 SepiaFilter::SepiaFilter()
8 void SepiaFilter::applyFilter(QImage &image)
10 int inputRed,inputGreen,inputBlue;
11 int outputRed,outputGreen,outputBlue;
13 for(int i=0;i<image.width();i++)
14 for(int j=0;j<image.height();j++)
16 QColor inPixel(image.pixel(i,j));
17 inputRed=inPixel.red();
18 inputBlue=inPixel.blue();
19 inputGreen=inPixel.green();
20 outputRed = (inputRed * .393) + (inputGreen *.769) + (inputBlue * .189);
21 outputGreen = (inputRed * .349) + (inputGreen *.686) + (inputBlue * .168);
22 outputBlue = (inputRed * .272) + (inputGreen *.534) + (inputBlue * .131);
23 if(outputBlue>255) outputBlue=255;
24 if(outputGreen>255) outputGreen=255;
25 if(outputRed>255) outputRed=255;
26 QColor outPixel(outputRed,outputGreen,outputBlue);
27 image.setPixel(i,j,outPixel.rgb());