Mercurial > mercurial > hgweb_searcher03.cgi
comparison src/marksheet.cpp @ 12:52958cd4a073
Implement Force Mask button in Batch Print Mode.
| author | pyon@macmini |
|---|---|
| date | Sun, 18 May 2014 19:49:15 +0900 |
| parents | fdba695b99f1 |
| children |
comparison
equal
deleted
inserted
replaced
| 11:dfcf8c973219 | 12:52958cd4a073 |
|---|---|
| 1 // Filename : marksheet.cpp | 1 // Filename : marksheet.cpp |
| 2 // Last Change: 11-Sep-2013. | 2 // Last Change: 13-May-2014. |
| 3 // | 3 // |
| 4 | 4 |
| 5 #include "common.h" | 5 #include "common.h" |
| 6 #include "marksheet.h" | 6 #include "marksheet.h" |
| 7 | 7 |
| 57 return hhs; | 57 return hhs; |
| 58 } | 58 } |
| 59 | 59 |
| 60 bool IsMarksheet( wxString& file, double zmin, double zmax, long lmin, long lmax ) | 60 bool IsMarksheet( wxString& file, double zmin, double zmax, long lmin, long lmax ) |
| 61 { | 61 { |
| 62 wxImage img( file, wxBITMAP_TYPE_JPEG ); | 62 float z; |
| 63 int black = 0; | 63 long l; |
| 64 int x = 2465; | |
| 65 int h = 3500; | |
| 66 unsigned char r, g, b; | |
| 67 | 64 |
| 68 for ( int y=0; y<h; y++ ) { | 65 GetScore( &z, &l, file ); |
| 69 r = img.GetRed( x, y ); | |
| 70 g = img.GetGreen( x, y ); | |
| 71 b = img.GetBlue( x, y ); | |
| 72 if( IsBlack( (int)r, (int)g, (int)b ) ) black++; | |
| 73 } | |
| 74 float z = (float)black / h; | |
| 75 | |
| 76 wxFile f( file ); | |
| 77 long l = f.Length(); | |
| 78 | |
| 79 //wxPuts(wxString::Format(wxT("z = %f, len = %d"),z,l)); | 66 //wxPuts(wxString::Format(wxT("z = %f, len = %d"),z,l)); |
| 80 if ( zmin < z && z < zmax | 67 if ( zmin < z && z < zmax |
| 81 && lmin < l && l < lmax ) { | 68 && lmin < l && l < lmax ) { |
| 82 return true; | 69 return true; |
| 83 } | 70 } |
| 84 return false; | 71 return false; |
| 85 } | 72 } |
| 86 | 73 |
| 74 void GetScore( float* z, long* l, wxString file ) | |
| 75 { | |
| 76 wxImage img( file, wxBITMAP_TYPE_JPEG ); | |
| 77 int black = 0; | |
| 78 int x = 2465; | |
| 79 int h = 3500; | |
| 80 unsigned char r, g, b; | |
| 81 | |
| 82 for ( int y = 0; y < h; y++ ) { | |
| 83 r = img.GetRed( x, y ); | |
| 84 g = img.GetGreen( x, y ); | |
| 85 b = img.GetBlue( x, y ); | |
| 86 if( IsBlack( (int)r, (int)g, (int)b ) ) black++; | |
| 87 } | |
| 88 *z = (float)black / h; | |
| 89 | |
| 90 wxFile f( file ); | |
| 91 *l = f.Length(); | |
| 92 } | |
| 87 | 93 |
| 88 wxString GetHhsName( wxString& hhsno ) | 94 wxString GetHhsName( wxString& hhsno ) |
| 89 { | 95 { |
| 90 wxString name; | 96 wxString name; |
| 91 | 97 |
