Initial Folder Structure
[photoenhancer] / src / sepiafilter.cpp
diff --git a/src/sepiafilter.cpp b/src/sepiafilter.cpp
new file mode 100644 (file)
index 0000000..ce240e4
--- /dev/null
@@ -0,0 +1,30 @@
+#include "sepiafilter.h"
+#include <QImage>
+#include <QColor>
+#include <QDebug>
+SepiaFilter::SepiaFilter()
+{
+}
+void SepiaFilter::applyFilter(QImage &image)
+{
+    int inputRed,inputGreen,inputBlue;
+    int outputRed,outputGreen,outputBlue;
+
+    for(int i=0;i<image.width();i++)
+        for(int j=0;j<image.height();j++)
+        {
+            QColor inPixel(image.pixel(i,j));
+            inputRed=inPixel.red();
+            inputBlue=inPixel.blue();
+            inputGreen=inPixel.green();
+            outputRed = (inputRed * .393) + (inputGreen *.769) + (inputBlue * .189);
+            outputGreen = (inputRed * .349) + (inputGreen *.686) + (inputBlue * .168);
+            outputBlue = (inputRed * .272) + (inputGreen *.534) + (inputBlue * .131);
+            if(outputBlue>255) outputBlue=255;
+            if(outputGreen>255) outputGreen=255;
+            if(outputRed>255) outputRed=255;
+            QColor outPixel(outputRed,outputGreen,outputBlue);
+            image.setPixel(i,j,outPixel.rgb());
+    }
+
+}