Added a project written on Qt framework for Symbian and added tutorials for both...
[zxing.git] / symbian / QQrDecoder / CameraImageWrapper.cpp
1 #include "CameraImageWrapper.h"\r
2 #include <QColor>\r
3 #include <QApplication>\r
4 #include <QDesktopWidget>\r
5 \r
6 CameraImageWrapper::CameraImageWrapper() : LuminanceSource()\r
7 {\r
8 }\r
9 \r
10 CameraImageWrapper::CameraImageWrapper(CameraImageWrapper& otherInstance) : LuminanceSource()\r
11 {\r
12     image = otherInstance.getOriginalImage().copy();\r
13 }\r
14 \r
15 CameraImageWrapper::~CameraImageWrapper()\r
16 {\r
17 }\r
18 \r
19 int CameraImageWrapper::getWidth()\r
20 {\r
21      return image.width();\r
22 }\r
23 \r
24 int CameraImageWrapper::getHeight()\r
25 {\r
26      return image.height();\r
27 }\r
28 \r
29 unsigned char CameraImageWrapper::getPixel(int x, int y)\r
30 {\r
31     QRgb pixel = image.pixel(x,y);\r
32     \r
33     return qGray(pixel);//((qRed(pixel) + qGreen(pixel) + qBlue(pixel)) / 3);\r
34 }\r
35 \r
36 void CameraImageWrapper::setImage(QString fileName, char* format)\r
37 {\r
38     image.load(fileName);\r
39 \r
40     if(image.width() > QApplication::desktop()->width())\r
41         image = image.scaled(QApplication::desktop()->width(), image.height(), Qt::IgnoreAspectRatio);\r
42     \r
43     if(image.height() > QApplication::desktop()->height())\r
44         image = image.scaled(image.width(), QApplication::desktop()->height(), Qt::IgnoreAspectRatio);\r
45 }\r
46 \r
47 void CameraImageWrapper::setImage(QImage newImage)\r
48 {\r
49     image = newImage.copy();\r
50     \r
51     if(image.width() > 640)\r
52             image = image.scaled(640, image.height(), Qt::KeepAspectRatio);\r
53 }\r
54 \r
55 QImage CameraImageWrapper::grayScaleImage(QImage::Format f)\r
56 {\r
57     QImage tmp(image.width(), image.height(), f);\r
58     for(int i=0; i<image.width(); i++)\r
59     {\r
60         for(int j=0; j<image.height(); j++)\r
61         {\r
62             int pix = (int)getPixel(i,j);\r
63             tmp.setPixel(i,j, qRgb(pix ,pix,pix));\r
64         }   \r
65     }\r
66     \r
67     return tmp;\r
68         \r
69         //return image.convertToFormat(f);\r
70 }\r
71 \r
72 QImage CameraImageWrapper::getOriginalImage()\r
73 {\r
74         return image;\r
75 }\r
76 \r
77 \r