1: // this is the water filter parameter setup form
2: frmWater fParam = new frmWater();
3: fParam.Text = "Water Parameters";
4:
5: // Firstly, initialize a filter class
6: IC.PhotoController.Filter.WaterFilter filter = new IC.PhotoController.Filter.WaterFilter();
7:
8: // use ParamConfig to read paramater configuration
9: // then specify our setup form field's range
10: using (IC.PhotoController.ParamConfig config = new ParamConfig())
11: {
12: string max, min, defaultValue, type;
13: // get the definition of filter.Level
14: if (config.FindParam(filter.ToString(),"Level",out type,out max,out min,out defaultValue))
15: {
16: fParam.trackLevel.Maximum = int.Parse(max);
17: fParam.trackLevel.Minimum = int.Parse(min);
18: fParam.trackLevel.Value = int.Parse(defaultValue);
19: }
20:
21: // get the definition of filter.Wave
22: if (config.FindParam(filter.ToString(), "Wave", out type, out max, out min, out defaultValue))
23: {
24: fParam.trackWave.Maximum = int.Parse(max);
25: fParam.trackWave.Minimum = int.Parse(min);
26: fParam.trackWave.Value = int.Parse(defaultValue);
27: }
28: }
29:
30: // Call filter to process the image
31: if (fParam.ShowDialog()==DialogResult.OK)
32: {
33: IC.PhotoController.Controller pc = new Controller(pic.Image);
34: filter.Level = fParam.trackLevel.Value;
35: filter.Wave = fParam.trackWave.Value;
36: filter.Edge = (EdgeType)fParam.comboBox1.SelectedIndex;
37: pic.Image = pc.Filter(filter);
38: pc.Dispose();
39: setRefresh(true);
40: }