private void menuBeginClass_Click(object sender, EventArgs e)
{
if (strConnect != "")
{
ClassMethod cmForm = new ClassMethod();
cmForm.ShowDialog();
bool nearChose = cmForm.GetMethod();
int nearSize = cmForm.GetLength();
int midPixel = (int)((nearSize - 1) / 2);
strCommandtext = "select * from Sign";
myConnect = new OleDbConnection(strConnect);
DataRow myDataRow = null;
DataTable mydataTable = new DataTable();
mydataAdapter = new OleDbDataAdapter(strCommandtext, myConnect);
mydataAdapter.Fill(mydataTable);
myDataRow = mydataTable.NewRow();
myCommBuilder = new OleDbCommandBuilder(mydataAdapter);
try
{
myConnect.Open();
ClassNum = mydataTable.Rows.Count;
if (ClassNum > 0)
{
for (int i = 0; i < mydataTable.Rows.Count; i++)
{
strRecord[i] = mydataTable.Rows[i]["ClassName"].ToString ();
record[i, 0] = Convert.ToInt32(mydataTable.Rows[i]["ColorR"]);
record[i, 1] = Convert.ToInt32(mydataTable.Rows[i]["ColorG"]);
record[i, 2] = Convert.ToInt32(mydataTable.Rows[i]["ColorB"]);
record[i, 3] =Convert.ToInt32(mydataTable.Rows[i]["redThreshold"]);
record[i, 4] = Convert.ToInt32(mydataTable.Rows[i]["greenThreshold"]);
record[i, 5] = Convert.ToInt32(mydataTable.Rows[i]["blueThreshold"]);
}
}
Bitmap dstBmp = countSign(record,midPixel,nearChose);
string str = "Classify finish!:" + "\t\n";
for (int i = 0; i < ClassNum; i++)
{
str += strRecord[i] + ": " + countClass[i].ToString() + "\t\n";
}
MessageBox.Show(str,"the result is:");
saveFileDialog1.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Tif Image|*.tif";
saveFileDialog1.Title = "Save an Image File";
saveFileDialog1.ShowDialog();
if (saveFileDialog1.FileName != "")
{
string FileName = saveFileDialog1.FileName;
switch (saveFileDialog1.FilterIndex)
{
case 0:
dstBmp.Save(FileName, ImageFormat.Jpeg);
break;
case 1:
dstBmp.Save(FileName, ImageFormat.Bmp );
break;
case 2:
dstBmp.Save(FileName, ImageFormat.Tiff) ;
break;
default :
dstBmp.Save(FileName, ImageFormat.Jpeg);
break;
}
}
}
catch (OleDbException exp)
{
MessageBox.Show(exp.ToString());
Application.Exit();
}
finally
{
myConnect.Close();
myConnect.Dispose();
myCommBuilder.Dispose();
if (mydataAdapter != null)
mydataAdapter.Dispose();
}
}
}