diff 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
line wrap: on
line diff
--- a/include/marksheet.h	Tue Nov 01 22:26:41 2011 +0900
+++ b/include/marksheet.h	Wed Nov 02 20:47:18 2011 +0900
@@ -1,5 +1,5 @@
 // Filename   : marksheet.h
-// Last Change: 21-Oct-2011.
+// Last Change: 02-Nov-2011.
 //
 #ifndef __marksheet__
 #define __marksheet__
@@ -56,7 +56,7 @@
     return hhs;
 };
 
-bool IsMarksheet( wxString& file, float* brate, long* len )
+bool IsMarksheet( wxString& file, float* brate, long* len, double zmin, double zmax, long lmin, long lmax )
 {
     wxImage img( file, wxBITMAP_TYPE_JPEG );
     int black = 0;
@@ -71,13 +71,9 @@
         if( IsBlack( (int)r, (int)g, (int)b ) ) black++;
     }
     float z = (float)black / h;
-    float zmin = 0.095713;
-    float zmax = 0.108600;
 
     wxFile f( file );
     long l = f.Length();
-    float lmin = 2072393;
-    float lmax = 2346082;
 
     *brate = z;
     *len = l;
@@ -89,5 +85,51 @@
     return false;
 };
 
+bool _IsMarksheet( wxString& file, float* brate, long* len )
+{
+    wxImage img( file, wxBITMAP_TYPE_JPEG );
+    int black = 0;
+    int x = 2465;
+    int h = 3500;
+    unsigned char r, g, b;
+
+    for ( int y=0; y<h; y++ ) {
+        r = img.GetRed(   x, y );
+        g = img.GetGreen( x, y );
+        b = img.GetBlue(  x, y );
+        if( IsBlack( (int)r, (int)g, (int)b ) ) black++;
+    }
+    float z = (float)black / h;
+    float zmin = 0.095713; float zmax = 0.108600;
+
+    wxFile f( file );
+    long l = f.Length();
+    float lmin = 2072393; float lmax = 2346082;
+
+    *brate = z;
+    *len = l;
+    //wxPuts(wxString::Format(wxT("z = %f, len = %d"),z,len));
+    if ( zmin < z && z < zmax
+      && lmin < l && l < lmax ) {
+        return true;
+    }
+    return false;
+};
+
+int IsHhsno( wxString& hhsno, wxString& name )
+{
+	wxRegEx reHhs(wxT("^0[1238][0-9]{8}$"));	// $BHoJ]HV%A%'%C%/(B
+
+    if ( reHhs.Matches( hhsno) ) {
+        if ( 0 ) {  // DB$B$K$"$k(B
+            return 2;
+        }
+        return 1;
+    }
+    else {
+        return 0;
+    }
+};
+
 #endif // __marksheet__