/// <summary> /// 設定リストの選択 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmbSetting_SelectedIndexChanged(object sender, EventArgs e) { //*** 設定の読み込み ***// Config = ConfigList.ToArray()[cmbSetting.SelectedIndex].Value; //*** 抽出条件 ***// trkCondHueWidth.Value = Config.Before.HWidth; trkCondASaturation.Value = Config.Before.SMin; trkCondBSaturation.Value = Config.Before.SMax; trkCondALight.Value = Config.Before.LMin; trkCondBLight.Value = Config.Before.LMax; //*** 変更色 ***// trkChgASaturation.Value = Config.After.SMin; trkChgBSaturation.Value = Config.After.SMax; trkChgALight.Value = Config.After.LMin; trkChgBLight.Value = Config.After.LMax; chkHueNoChg.Checked = !Config.After.ChengeH; chkHueSame.Checked = false; chkSaturationNoChg.Checked = false; chkLightNoChg.Checked = false; //*** 値の反映 ***// ValueChenged(); }
/// <summary> /// 設定をファイルから読み込む /// </summary> /// <param name="fileName"></param> private void ReadSetting(string fileName) { if (!File.Exists(fileName)) { return; } ConfigList = new Dictionary <string, Color.Config>(); Color.Config config = new Color.Config(); StreamReader sr = new StreamReader(fileName); while (!sr.EndOfStream) { string[] cols = sr.ReadLine().Split('\t'); if (cols.Length < 14) { string[] tmp = new string[14]; cols.CopyTo(tmp, 0); cols = tmp; } config.Before.H = int.Parse(cols[0]); config.Before.HWidth = int.Parse(cols[1]); config.Before.SMin = int.Parse(cols[2]); config.Before.SMax = int.Parse(cols[3]); config.Before.LMin = int.Parse(cols[4]); config.Before.LMax = int.Parse(cols[5]); config.After.H = int.Parse(cols[6]); config.After.HWidth = int.Parse(cols[7]); config.After.SMin = int.Parse(cols[8]); config.After.SMax = int.Parse(cols[9]); config.After.LMin = int.Parse(cols[10]); config.After.LMax = int.Parse(cols[11]); config.After.ChengeH = (cols[13] != "0"); // 追加 ConfigList.Add(cols[12], config); } sr.Close(); }
/// <summary> /// 設定の初期化 /// </summary> private void InitSetting() { string exePath = Application.ExecutablePath; string fileName = Path.GetDirectoryName(exePath) + "\\" + Path.GetFileNameWithoutExtension(exePath) + ".ini"; if (File.Exists(fileName)) { ReadSetting(fileName); } else { Color.Config config = new Color.Config(); ConfigList = new Dictionary <string, Color.Config>(); config.Before.H = 0; config.Before.HWidth = 180; config.Before.SMin = 0; config.Before.SMax = 100; config.Before.LMin = 0; config.Before.LMax = 100; config.After.ChengeH = false; config.After.H = 0; config.After.HWidth = 0; config.After.SMin = 0; config.After.SMax = 0; config.After.LMin = 0; config.After.LMax = 100; ConfigList.Add("モノクロ", config); config.Before.H = 0; config.Before.HWidth = 180; config.Before.SMin = 0; config.Before.SMax = 100; config.Before.LMin = 0; config.Before.LMax = 100; config.After.ChengeH = true; config.After.H = 50; config.After.HWidth = 0; config.After.SMin = 25; config.After.SMax = 70; config.After.LMin = 0; config.After.LMax = 100; ConfigList.Add("セピア", config); config.Before.H = 0; config.Before.HWidth = 180; config.Before.SMin = 0; config.Before.SMax = 100; config.Before.LMin = 0; config.Before.LMax = 100; config.After.ChengeH = false; config.After.H = 0; config.After.HWidth = 0; config.After.SMin = 100; config.After.SMax = 100; config.After.LMin = 50; config.After.LMax = 50; ConfigList.Add("サーモグラフィ", config); config.Before.H = 0; config.Before.HWidth = 180; config.Before.SMin = 0; config.Before.SMax = 100; config.Before.LMin = 0; config.Before.LMax = 100; config.After.ChengeH = false; config.After.H = 0; config.After.HWidth = 0; config.After.SMin = 100; config.After.SMax = 100; config.After.LMin = 0; config.After.LMax = 100; ConfigList.Add("原色", config); WriteSetting(fileName); } cmbSetting.Items.Clear(); foreach (KeyValuePair <string, Color.Config> item in ConfigList.ToArray()) { cmbSetting.Items.Add(item.Key); } }