Mercurial > mercurial > hgweb_mover2.cgi
comparison include/marksheet.h @ 24:5c99c6fa50df v2.2dev v2.2
fix changing selected image color
author | pyon@macmini |
---|---|
date | Wed, 02 Nov 2011 20:47:18 +0900 |
parents | 1fda3a06c39b |
children | d21de4693652 |
comparison
equal
deleted
inserted
replaced
23:a2dd16b70c08 | 24:5c99c6fa50df |
---|---|
1 // Filename : marksheet.h | 1 // Filename : marksheet.h |
2 // Last Change: 21-Oct-2011. | 2 // Last Change: 02-Nov-2011. |
3 // | 3 // |
4 #ifndef __marksheet__ | 4 #ifndef __marksheet__ |
5 #define __marksheet__ | 5 #define __marksheet__ |
6 | 6 |
7 bool IsBlack( int r, int g, int b ) | 7 bool IsBlack( int r, int g, int b ) |
54 } | 54 } |
55 | 55 |
56 return hhs; | 56 return hhs; |
57 }; | 57 }; |
58 | 58 |
59 bool IsMarksheet( wxString& file, float* brate, long* len ) | 59 bool IsMarksheet( wxString& file, float* brate, long* len, double zmin, double zmax, long lmin, long lmax ) |
60 { | 60 { |
61 wxImage img( file, wxBITMAP_TYPE_JPEG ); | 61 wxImage img( file, wxBITMAP_TYPE_JPEG ); |
62 int black = 0; | 62 int black = 0; |
63 int x = 2465; | 63 int x = 2465; |
64 int h = 3500; | 64 int h = 3500; |
69 g = img.GetGreen( x, y ); | 69 g = img.GetGreen( x, y ); |
70 b = img.GetBlue( x, y ); | 70 b = img.GetBlue( x, y ); |
71 if( IsBlack( (int)r, (int)g, (int)b ) ) black++; | 71 if( IsBlack( (int)r, (int)g, (int)b ) ) black++; |
72 } | 72 } |
73 float z = (float)black / h; | 73 float z = (float)black / h; |
74 float zmin = 0.095713; | |
75 float zmax = 0.108600; | |
76 | 74 |
77 wxFile f( file ); | 75 wxFile f( file ); |
78 long l = f.Length(); | 76 long l = f.Length(); |
79 float lmin = 2072393; | |
80 float lmax = 2346082; | |
81 | 77 |
82 *brate = z; | 78 *brate = z; |
83 *len = l; | 79 *len = l; |
84 //wxPuts(wxString::Format(wxT("z = %f, len = %d"),z,len)); | 80 //wxPuts(wxString::Format(wxT("z = %f, len = %d"),z,len)); |
85 if ( zmin < z && z < zmax | 81 if ( zmin < z && z < zmax |
87 return true; | 83 return true; |
88 } | 84 } |
89 return false; | 85 return false; |
90 }; | 86 }; |
91 | 87 |
88 bool _IsMarksheet( wxString& file, float* brate, long* len ) | |
89 { | |
90 wxImage img( file, wxBITMAP_TYPE_JPEG ); | |
91 int black = 0; | |
92 int x = 2465; | |
93 int h = 3500; | |
94 unsigned char r, g, b; | |
95 | |
96 for ( int y=0; y<h; y++ ) { | |
97 r = img.GetRed( x, y ); | |
98 g = img.GetGreen( x, y ); | |
99 b = img.GetBlue( x, y ); | |
100 if( IsBlack( (int)r, (int)g, (int)b ) ) black++; | |
101 } | |
102 float z = (float)black / h; | |
103 float zmin = 0.095713; float zmax = 0.108600; | |
104 | |
105 wxFile f( file ); | |
106 long l = f.Length(); | |
107 float lmin = 2072393; float lmax = 2346082; | |
108 | |
109 *brate = z; | |
110 *len = l; | |
111 //wxPuts(wxString::Format(wxT("z = %f, len = %d"),z,len)); | |
112 if ( zmin < z && z < zmax | |
113 && lmin < l && l < lmax ) { | |
114 return true; | |
115 } | |
116 return false; | |
117 }; | |
118 | |
119 int IsHhsno( wxString& hhsno, wxString& name ) | |
120 { | |
121 wxRegEx reHhs(wxT("^0[1238][0-9]{8}$")); // $BHoJ]HV%A%'%C%/(B | |
122 | |
123 if ( reHhs.Matches( hhsno) ) { | |
124 if ( 0 ) { // DB$B$K$"$k(B | |
125 return 2; | |
126 } | |
127 return 1; | |
128 } | |
129 else { | |
130 return 0; | |
131 } | |
132 }; | |
133 | |
92 #endif // __marksheet__ | 134 #endif // __marksheet__ |
93 | 135 |