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 |