using OpenCvSharp;
using OpenCvSharp.Extensions;
using PaintDotNet.Base;
using PaintDotNet.Base.Enum;
using PaintDotNet.Base.Functionodel;
using PaintDotNet.CustomControl;
using PaintDotNet.Data.Param;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using PaintDotNet.DbOpreate.DbBll;
using PaintDotNet.DbOpreate.DbModel;
using PaintDotNet.Base.CommTool;
using System.Linq;
using PaintDotNet.Instrument;
using Metis.ParameterSet;
using static Metis.ParameterSet.GeneralAnalysisModel;
using static Metis.ParameterSet.GeneralAnalysisModel.PolyphaseMutiAreaContentModel;
namespace PaintDotNet.GeneralAnalysis
{
///
/// 多相含量
///
internal class PolyphaseMutiAreaContent : PdnBaseForm
{
#region 控件
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.ListView listView1;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.GroupBox groupBox_review;
private System.Windows.Forms.GroupBox groupBox5;
private System.Windows.Forms.GroupBox groupBox6;
private System.Windows.Forms.GroupBox groupBox7;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.ImageList imageList1;
private DataGridView dataGridView_results;
private Button button_remove;
private Button button_all;
private IContainer components;
private List finalResults = new List();
private List counterResults = new List();
private Button btn_close;
private GroupBox groupBox2;
private CheckBox cb8;
private CheckBox cb6;
private CheckBox cb4;
private CheckBox cb7;
private CheckBox cb5;
private CheckBox cb3;
private CheckBox cb2;
private CheckBox cb1;
private Label label7;
private Label label6;
private Label label5;
private TextBox txt_phaseName;
private Label label4;
private ComboBox cb_SelectPhase;
private Label label3;
private RadioButton rb8;
private RadioButton rb7;
private RadioButton rb6;
private RadioButton rb5;
private RadioButton rb4;
private RadioButton rb3;
private RadioButton rb2;
private RadioButton rb1;
private Label label2;
private Panel panel1;
private GroupBox groupBox3;
private CheckBox checkBox11;
private CheckBox checkBox10;
private Button But_DeleteSX;
private Button But_DeleteKD;
private Panel panel2;
private NumericUpDown numericUpDown_RangeEnd;
private NumericUpDown numericUpDown_RangeStart;
private NumericUpDown numericUpDown_SXEnd;
private NumericUpDown numericUpDown_SXStart;
private NumericUpDown numericUpDown_KDEnd;
private NumericUpDown numericUpDown_KDStart;
private ColorRangeControl cRControl;
private NumericUpDown numericUpDown1;
private Button button6;
private Button button5;
#endregion
private GeneralAnalysisCommonControlButtons commonControlButtons;
///
/// 主空间
///
private AppWorkspace appWorkspace;
///
/// 图像面板
///
private DocumentWorkspaceWindow documentWorkspace;
///
/// 选中图片的mat
///
private Mat imageMat;
///
/// 默认八个颜色的值
///
private Color[] DefaultColor = new Color[] { Color.Red, Color.Blue, Color.Yellow, Color.Green, Color.Gray, Color.Black, Color.Gold, Color.DeepSkyBlue };
///
/// 原相
///
private List phaseModels = new List();
///
/// 加工后的相
///
private List viewModels = new List();
private List mPhaseModels = new List();
private List orginPhaseModels = new List();
private List rangeColors = new List();
private ColorsForm colorsFormGrid;
private int imgIndex = -1;
///
/// 处理程序
///
private ParamObject action = new Data.Action.Action1010();
private ParamObject action914 = new Data.Action.Action914();
private ParamObject action911 = new Data.Action.Action911();
private List mainPolyphaseAnalysisResults = new List();
private List viewPolyphaseAnalysisResults = new List();
private int decnum = 2;
private int is_all = 0;
private int xiang_num = 0;
private GeneralAnalysisModel generalAnalysisModel = new GeneralAnalysisModel();
private bool userAll = false;
private string selectedImg = string.Empty;
private bool isExportResults = false;
private bool isExportReports = false;
private bool isExportProjects = false;
private int menuId;
private string menuName;
///
/// 是否脚本运行
///
private Boolean initScriptValues = false;
///
/// 初始系统参数配置值
///
private int selectIndex;
private List bitList = new List();
private Button button9;
private CheckedListBox listBox_analysisResult;
private DataGridViewTextBoxColumn Column5;
private DataGridViewTextBoxColumn dataGridViewTextBoxColumn1;
private DataGridViewTextBoxColumn dataGridViewTextBoxColumn2;
private DataGridViewTextBoxColumn dataGridViewTextBoxColumn3;
private DataGridViewTextBoxColumn dataGridViewTextBoxColumn4;
private Dictionary> bitDic = new Dictionary>();
private Dictionary everyImgData = new Dictionary();
public PolyphaseMutiAreaContent(AppWorkspace appWorkspace,PdnMenuItem menuItem)
{
InitializeComponent();
InitializeLanguageText();
this.appWorkspace = appWorkspace;
this.colorsFormGrid = new ColorsForm();
this.colorsFormGrid.StartPosition = FormStartPosition.CenterScreen;
this.documentWorkspace = new DocumentWorkspaceWindow(appWorkspace);
this.documentWorkspace.Dock = DockStyle.Fill;
this.documentWorkspace.HookMouseEvents();
this.documentWorkspace.AuxiliaryLineEnabled = false;
this.documentWorkspace.Visible = false;
this.groupBox_review.Controls.Add(documentWorkspace);
this.commonControlButtons = new GeneralAnalysisCommonControlButtons();
this.commonControlButtons.Dock = DockStyle.Top;
this.commonControlButtons.Height = 30;
this.commonControlButtons.WithTrackBar();
this.commonControlButtons.trackBar.Minimum = 0;
this.commonControlButtons.trackBar.Maximum = 255;
this.commonControlButtons.trackBar.Value = 255;
this.commonControlButtons.trackLabel.Text = PdnResources.GetString("Menu.transparency.text")+":";
this.groupBox_review.Controls.Add(commonControlButtons);
cRControl = new ColorRangeControl();
cRControl.Height = this.panel1.Height;
this.panel1.Controls.Add(cRControl);
cRControl.Click += CRControl_Click;
cRControl.ColorRangeChangeEvent += new EventHandler(this.ColorRangeChangeEvent);
this.groupBox2.Enabled = false;
this.menuId = menuItem.MenuId;
this.menuName = menuItem.Text;
Init_CheckBoxes();
InitPicList();
SetAnalyzeModelFromXml("Template.Manager.item2.PolyphaseMutiAreaContent");
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲
InitCommonButtonEvent();
this.Shown += showImg;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.saveLastData);
}
///
/// 获取上次操作参数
///
private void getLastData() {
string filePath = Application.StartupPath + "\\Config\\Default\\ParameterSaving\\ParameterGeneralAnalysis.xml";
if (!System.IO.File.Exists(filePath))
{
generalAnalysisModel = new GeneralAnalysisModel();
generalAnalysisModel.PolyphaseMutiAreaContentModels = new PolyphaseMutiAreaContentModel();
generalAnalysisModel.PolyphaseCounterAnalysisModels = new PolyphaseCounterAnalysisModel();
generalAnalysisModel.TwoPhaseScaleModels = new TwoPhaseScaleModel();
generalAnalysisModel.PolyphaseContentModels = new PolyphaseContentModel();
generalAnalysisModel.PolyphaseDistanceModels = new PolyphaseDistanceModel();
generalAnalysisModel.DebrisSelectionModels = new GeneralAnalysisModel.DebrisSelectionModel();
generalAnalysisModel.CountNumberAnalysisModels = new CountNumberAnalysisModel();
generalAnalysisModel.PolyphaseMutiAreaContentModels.hasUsed = false;
generalAnalysisModel.PolyphaseCounterAnalysisModels.hasUsed = false;
generalAnalysisModel.TwoPhaseScaleModels.hasUsed = false;
generalAnalysisModel.PolyphaseContentModels.hasUsed = false;
generalAnalysisModel.PolyphaseDistanceModels.hasUsed = false;
generalAnalysisModel.DebrisSelectionModels.hasUsed = false;
generalAnalysisModel.CountNumberAnalysisModels.hasUsed = false;
string porosityInfoXml = XmlSerializeHelper.XmlSerialize(generalAnalysisModel);
Directory.CreateDirectory(Application.StartupPath + "\\Config\\Default\\ParameterSaving\\");
FileOperationHelper.WriteStringToFile(porosityInfoXml, filePath, FileMode.CreateNew);
}
else
{
generalAnalysisModel = XmlSerializeHelper.DESerializer(FileOperationHelper.ReadStringFromFile(filePath, FileMode.Open));
if (generalAnalysisModel.PolyphaseMutiAreaContentModels == null) {
generalAnalysisModel.PolyphaseMutiAreaContentModels = new PolyphaseMutiAreaContentModel();
}
if (generalAnalysisModel.PolyphaseMutiAreaContentModels.hasUsed) {
#region [多相数量]
switch (generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter1)
{
case 0:
rb1.Checked = true;
break;
case 1:
rb1.Checked = true;
break;
case 2:
rb1.Checked = true;
rb2.Checked = true;
break;
case 3:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
break;
case 4:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
rb4.Checked = true;
break;
case 5:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
rb4.Checked = true;
rb5.Checked = true;
break;
case 6:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
rb4.Checked = true;
rb5.Checked = true;
rb6.Checked = true;
break;
case 7:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
rb4.Checked = true;
rb5.Checked = true;
rb6.Checked = true;
rb7.Checked = true;
break;
case 8:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
rb4.Checked = true;
rb5.Checked = true;
rb6.Checked = true;
rb7.Checked = true;
rb8.Checked = true;
break;
}
#endregion
#region [显示物相]
string[] allNum = generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter4.Split(',');
if (allNum.Contains("1"))
{
cb1.Checked = true;
}
else
{
cb1.Checked = false;
}
if (allNum.Contains("2"))
{
cb2.Checked = true;
}
else
{
cb2.Checked = false;
}
if (allNum.Contains("3"))
{
cb3.Checked = true;
}
else
{
cb3.Checked = false;
}
if (allNum.Contains("4"))
{
cb4.Checked = true;
}
else
{
cb4.Checked = false;
}
if (allNum.Contains("5"))
{
cb5.Checked = true;
}
else
{
cb5.Checked = false;
}
if (allNum.Contains("6"))
{
cb6.Checked = true;
}
else
{
cb6.Checked = false;
}
if (allNum.Contains("7"))
{
cb7.Checked = true;
}
else
{
cb7.Checked = false;
}
if (allNum.Contains("8"))
{
cb8.Checked = true;
}
else
{
cb8.Checked = false;
}
#endregion
#region [相信息]
for (int i = 0; i < generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter3.Count; i++)
{
PolyphaseData data = generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter3[i];
viewModels[i].color = data.color;
mPhaseModels[i].Model.color = data.color;
mPhaseModels[i].ColorStart = data.downNum;
mPhaseModels[i].ColorEnd = data.upNum;
cRControl.SetColor(i, Color.FromArgb(data.color));
PhaseModel model = this.applyButtonImpl(Color.FromArgb(data.color), data.downNum, data.upNum);
this.documentWorkspace.phaseModels[i] = model;
this.phaseModels[i] = model;
}
this.documentWorkspace.Refresh();
#endregion
checkBox1.Checked = generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter12;
cb_SelectPhase.SelectedItem = generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter2;
if (cb_SelectPhase.SelectedIndex == -1) {
numericUpDown_RangeStart.Value = mPhaseModels[0].ColorStart;
numericUpDown_RangeEnd.Value = mPhaseModels[0].ColorEnd;
}
else
{
numericUpDown_RangeStart.Value = mPhaseModels[cb_SelectPhase.SelectedIndex].ColorStart;
numericUpDown_RangeEnd.Value = mPhaseModels[cb_SelectPhase.SelectedIndex].ColorEnd;
}
commonControlButtons.trackBar.Value = generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter13;
if (generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter5) {
checkBox10.Checked = true;
numericUpDown_KDStart.Value = generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter7;
numericUpDown_KDEnd.Value = generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter8;
}
if (generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter6)
{
checkBox11.Checked = true;
numericUpDown_SXStart.Value = generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter9;
numericUpDown_SXEnd.Value = generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter10;
}
numericUpDown1.Value = generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter11;
for (int i = 0; i < listView1.Items.Count; i++) {
if (everyImgData.ContainsKey(listView1.Items[i].Name))
{
everyImgData[listView1.Items[i].Name] = generalAnalysisModel.PolyphaseMutiAreaContentModels;
}
else {
everyImgData.Add(listView1.Items[i].Name, generalAnalysisModel.PolyphaseMutiAreaContentModels);
}
}
}
}
}
///
/// 保存上次操作参数
///
private void saveLastData(object sender, EventArgs e)
{
#region [开启脚本录制]
if (appWorkspace.startScriptRecording)
{
getScriptRecording();
}
#endregion
if (generalAnalysisModel.PolyphaseMutiAreaContentModels == null)
{
generalAnalysisModel.PolyphaseMutiAreaContentModels = new PolyphaseMutiAreaContentModel();
}
generalAnalysisModel.PolyphaseMutiAreaContentModels.hasUsed = true;
generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter1 = xiang_num;
generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter12 = checkBox1.Checked;
generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter13 = commonControlButtons.trackBar.Value;
generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter2 = cb_SelectPhase.SelectedItem == null ? "" : cb_SelectPhase.SelectedItem.ToString();
if (generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter3 == null)
{
generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter3 = new List();
}
var list = new List();
foreach (var s in mPhaseModels)
{
PolyphaseData data = new PolyphaseData();
data.color = s.Model.color;
data.downNum = s.ColorStart;
data.upNum = s.ColorEnd;
list.Add(data);
}
generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter3 = list;
#region [保存物相选择]
string all = String.Empty;
if (cb1.Checked)
{
all += "1,";
}
if (cb2.Checked)
{
all += "2,";
}
if (cb3.Checked)
{
all += "3,";
}
if (cb4.Checked)
{
all += "4,";
}
if (cb5.Checked)
{
all += "5,";
}
if (cb6.Checked)
{
all += "6,";
}
if (cb7.Checked)
{
all += "7,";
}
if (cb8.Checked)
{
all += "8,";
}
generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter4 = all;
#endregion
generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter5 = checkBox10.Checked;
generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter6 = checkBox11.Checked;
generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter7 = (int)numericUpDown_KDStart.Value;
generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter8 = (int)numericUpDown_KDEnd.Value;
generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter9 = (int)numericUpDown_SXStart.Value;
generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter10 = (int)numericUpDown_SXEnd.Value;
generalAnalysisModel.PolyphaseMutiAreaContentModels.parameter11 = (int)numericUpDown1.Value;
string filePath = Application.StartupPath + "\\Config\\Default\\ParameterSaving\\ParameterGeneralAnalysis.xml";
string porosityInfoXml = XmlSerializeHelper.XmlSerialize(generalAnalysisModel);
FileOperationHelper.WriteStringToFile(porosityInfoXml, filePath, FileMode.Create);
}
private void showImg(object sender, EventArgs e)
{
listView1.Focus();
if (this.imgIndex != -1)
{
//滚动到指定的行位置
this.listView1.EnsureVisible(this.imgIndex);
this.listView1.Items[imgIndex].Focused = true;
this.listView1.Items[imgIndex].Selected = true;
//如果是脚本执行,将参数带入
if (appWorkspace.ScriptRunning && appWorkspace.ScriptCurrentParam != null)
{
this.initScriptValues = true;//ScriptAutomatic
//Boolean initScriptValues = true;
////在这里反射出对应功能的参数类
string className = InvariantData.path_Action + ".Action" + menuId;
ParamObject param = (ParamObject)System.Reflection.Assembly.Load(InvariantData.assembly_Data).CreateInstance(className);
foreach (Args arg in param.Lists)
{
Args param1 = appWorkspace.ScriptCurrentParam.Lists.Find(m => m.Key.Equals(arg.Key));
if (param1.value != null)
arg.Value = param1.value;
getValue(arg.key, arg.Value);
}
appWorkspace.ScriptCurrentParam = null;//阻止第二次进入仍然被赋值参数
}
else
{//读取上次关闭窗口时保存的参数
getLastData();
}
}
if (this.initScriptValues && this.appWorkspace.ScriptAutomatic)
this.startScriptAutomaticAction();
}
///
/// 执行脚本自动化的步骤
///
private void startScriptAutomaticAction()
{
//this.button8.PerformClick();
//this.button7.PerformClick();
button8_Click();
button7_Click();
if (isExportResults)//导出结果
this.button4.PerformClick();
if (isExportReports)//生成报告
this.button3.PerformClick();
if (isExportProjects)//导出项目
this.button9.PerformClick();
this.appWorkspace.ScriptAutomatic = false;
this.Close();
}
private void ColorRangeChangeEvent(object sender, EventArgs e)
{
this.numericUpDown_RangeStart.ValueChanged -= this.numericUpDown_RangeStart_ValueChanged;
this.numericUpDown_RangeEnd.ValueChanged -= this.numericUpDown_RangeEnd_ValueChanged;
//this.selectIndex = cRControl.SelectIndex;
this.numericUpDown_RangeStart.Value = rangeColors[selectIndex].Start;
this.numericUpDown_RangeEnd.Value = rangeColors[selectIndex].End;
mPhaseModels[cRControl.SelectIndex].ColorStart = rangeColors[selectIndex].Start;
mPhaseModels[cRControl.SelectIndex].ColorEnd = rangeColors[selectIndex].End;
this.cb_SelectPhase.SelectedIndex = cRControl.SelectIndex;
try
{
mPhaseModels[cRControl.SelectIndex + 1].ColorStart = rangeColors[selectIndex + 1].Start;
}
catch (Exception)
{
}
for (int i = 0; i < this.documentWorkspace.phaseModels.Count; i++)
{
this.documentWorkspace.phaseModels[i] = applyButtonImpl(rangeColors[i].Color, rangeColors[i].Start, rangeColors[i].End);
Bitmap bmp = MakeTransparent(this.documentWorkspace.phaseModels[i].mat.ToBitmap(), this.commonControlButtons.trackBar.Value);
this.documentWorkspace.phaseModels[i].mat = bmp.ToMat();
}
this.documentWorkspace.Refresh();
this.numericUpDown_RangeStart.ValueChanged += this.numericUpDown_RangeStart_ValueChanged;
this.numericUpDown_RangeEnd.ValueChanged += this.numericUpDown_RangeEnd_ValueChanged;
}
private void InitCommonButtonEvent()
{
this.commonControlButtons.zoomInButton.Click += new EventHandler(zoomInButton_Click);
this.commonControlButtons.zoomOutButton.Click += new EventHandler(zoomOutButton_Click);
this.commonControlButtons.zoomToWindowButton.Click += new EventHandler(zoomToWindowButton_Click);
this.commonControlButtons.actualSizeButton.Click += new EventHandler(actualSizeButton_Click);
this.commonControlButtons.pointerButton.Click += new EventHandler(pointerButton_Click);
this.commonControlButtons.mobileModeButton.Click += new EventHandler(mobileModeButton_Click);
this.commonControlButtons.trackBar.ValueChanged += new EventHandler(TrackBar_ValueChanged);
}
public Bitmap MakeTransparent(Bitmap src, int num)
{
try
{
int w = src.Width;
int h = src.Height;
Bitmap dstBitmap = new Bitmap(src.Width, src.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
System.Drawing.Imaging.BitmapData srcData = src.LockBits(new Rectangle(0, 0, w, h), System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
System.Drawing.Imaging.BitmapData dstData = dstBitmap.LockBits(new Rectangle(0, 0, w, h), System.Drawing.Imaging.ImageLockMode.WriteOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
unsafe
{
byte* pIn = (byte*)srcData.Scan0.ToPointer();
byte* pOut = (byte*)dstData.Scan0.ToPointer();
byte* p;
int stride = srcData.Stride;
int r, g, b, a;
for (int y = 0; y < h; y++)
{
for (int x = 0; x < w; x++)
{
p = pIn;
b = pIn[0];
g = pIn[1];
r = pIn[2];
a = pIn[3];
pOut[0] = (byte)b;
pOut[1] = (byte)g;
pOut[2] = (byte)r;
if (a != 0)
{
pOut[3] = (byte)num;
}else
{
pOut[3] = (byte)a;
}
pIn += 4;
pOut += 4;
}
pIn += srcData.Stride - w * 4;
pOut += srcData.Stride - w * 4;
}
src.UnlockBits(srcData);
dstBitmap.UnlockBits(dstData);
return dstBitmap;
}
}
catch (Exception)
{
return null;
}
}
private void TrackBar_ValueChanged(object sender, EventArgs e)
{
List allCheck = new List();
if (cb1.Checked)
{
allCheck.Add(0);
}
if (cb2.Checked)
{
allCheck.Add(1);
}
if (cb3.Checked)
{
allCheck.Add(2);
}
if (cb4.Checked)
{
allCheck.Add(3);
}
if (cb5.Checked)
{
allCheck.Add(4);
}
if (cb6.Checked)
{
allCheck.Add(5);
}
if (cb7.Checked)
{
allCheck.Add(6);
}
if (cb8.Checked)
{
allCheck.Add(7);
}
for (int i = 0; i < this.documentWorkspace.phaseModels.Count; i++)
{
if (!allCheck.Contains(i))
{
continue;
}
this.documentWorkspace.phaseModels[i] = applyButtonImpl(rangeColors[i].Color, rangeColors[i].Start, rangeColors[i].End);
Bitmap bmp = MakeTransparent(this.documentWorkspace.phaseModels[i].mat.ToBitmap(),this.commonControlButtons.trackBar.Value);
this.documentWorkspace.phaseModels[i].mat = bmp.ToMat();
}
this.documentWorkspace.Refresh();
}
private void zoomInButton_Click(object sender, EventArgs e)
{
if (this.imageMat!= null)
this.documentWorkspace.ZoomIn();
}
private void zoomOutButton_Click(object sender, EventArgs e)
{
if (this.imageMat != null)
this.documentWorkspace.ZoomOut();
}
private void zoomToWindowButton_Click(object sender, EventArgs e)
{
this.documentWorkspace.ZoomBasis = ZoomBasis.FitToWindow;
}
private void actualSizeButton_Click(object sender, EventArgs e)
{
this.documentWorkspace.ZoomBasis = ZoomBasis.ScaleFactor;
this.documentWorkspace.ScaleFactor = ScaleFactor.OneToOne;
}
private void pointerButton_Click(object sender, EventArgs e)
{
this.documentWorkspace.ActiveTool = Annotation.Enum.DrawToolType.Pointer;
}
private void mobileModeButton_Click(object sender, EventArgs e)
{
this.documentWorkspace.ActiveTool = Annotation.Enum.DrawToolType.MoveMode;
}
private void CRControl_Click(object sender, EventArgs e)
{
showParams(mPhaseModels[cRControl.SelectIndex]);
}
public void InitPicList()
{
//初始化图片列表
for (int i = 0; i < this.appWorkspace.DocumentWorkspaces.Length; i++)
{
this.imageList1.Images.Add("img" + i, this.appWorkspace.DocumentWorkspaces[i].BinarizationThumbnail);
this.listView1.Items.Add("", i);
this.listView1.Items[i].ImageIndex = i;
String imageName = this.appWorkspace.DocumentWorkspaces[i].GetFriendlyName();
if (listView1.Items.Find(imageName, false).Count() > 0)
{
if (imageName.Split('.').Count() > 1)
{
imageName = imageName.Split('.')[0] + "(" + listView1.Items.Find(imageName, false).Count() + ")." + imageName.Split('.')[1];
}
}
this.listView1.Items[i].Text = imageName;
this.listView1.Items[i].Name = imageName;
if (this.appWorkspace.DocumentWorkspaces[i].Equals(this.appWorkspace.ActiveDocumentWorkspace))
{
this.imgIndex = i;
}
}
}
#region init
private void InitializeLanguageText()
{
this.But_DeleteKD.Text = PdnResources.GetString("Menu.application.text");
this.checkBox11.Text = PdnResources.GetString("Menu.Clasticdelete.text") + "(μm²)";
this.checkBox10.Text = PdnResources.GetString("Menu.BinaryAction.HoleRemoval.Text") + "(μm²)";
this.Text = PdnResources.GetString("Menu.GeneralAnalysis.MultiphaseContent.Text");
this.label6.Text = PdnResources.GetString("Menu.Generalanalysis.Multiphasecontent.Phaseinterval.text");
this.label5.Text = PdnResources.GetString("Menu.Generalanalysis.Multiphasecontent.Phasecolor.text");
this.label4.Text = PdnResources.GetString("Menu.Generalanalysis.Multiphasecontent.Phasename.text");
this.label3.Text = PdnResources.GetString("Menu.Generalanalysis.Multiphasecontent.Phaseselection.text");
this.label2.Text = PdnResources.GetString("Menu.Numberofmultiphase.Text");
this.groupBox3.Text = PdnResources.GetString("Menu.BinaryAction.Text");
this.But_DeleteSX.Text = PdnResources.GetString("Menu.application.text");
this.button5.Text = PdnResources.GetString("Menu.LabelAction.SelectAllLabel.Text");
this.cb8.Text = PdnResources.GetString("Menu.phase.text") + "8";
this.cb6.Text = PdnResources.GetString("Menu.phase.text") + "6";
this.cb4.Text = PdnResources.GetString("Menu.phase.text") + "4";
this.cb7.Text = PdnResources.GetString("Menu.phase.text") + "7";
this.cb5.Text = PdnResources.GetString("Menu.phase.text") + "5";
this.cb3.Text = PdnResources.GetString("Menu.phase.text") + "3";
this.cb2.Text = PdnResources.GetString("Menu.phase.text") + "2";
this.cb1.Text = PdnResources.GetString("Menu.phase.text") + "1";
this.label7.Text = PdnResources.GetString("Menu.Generalanalysis.Multiphasecontent.displayphase.text");
this.dataGridViewTextBoxColumn3.HeaderText = PdnResources.GetString("Menu.proportion.text");
this.dataGridViewTextBoxColumn4.HeaderText = PdnResources.GetString("Menu.Phasecontent.text");
this.button9.Text = PdnResources.GetString("Menu.Tools.OpenProject.Text");
this.label1.Text = PdnResources.GetString("Menu.Decimal.text");
this.button4.Text = PdnResources.GetString("Menu.Exportresults.text");
this.button3.Text = PdnResources.GetString("Menu.Tools.CreateReport.Text");
this.groupBox2.Text = PdnResources.GetString("Menu.Generalanalysis.Multiphasecontent.Phasesetting.text");
this.button6.Text = PdnResources.GetString("Menu.Theoriginalcolor.text");
this.groupBox4.Text = PdnResources.GetString("Menu.Tools.ImageIndex.Text");
this.groupBox1.Text = PdnResources.GetString("Menu.operation.text");
this.btn_close.Text = PdnResources.GetString("Menu.File.Close.Text");
this.button2.Text = PdnResources.GetString("Menu.Saveresult.text");
this.checkBox1.Text = PdnResources.GetString("Menu.Opensettingsatingreport.text");
this.button1.Text = PdnResources.GetString("Menu.Setting.Text");
this.groupBox_review.Text = PdnResources.GetString("Menu.Preview.text");
this.groupBox5.Text = PdnResources.GetString("Menu.Analysisresult.text");
this.button_remove.Text = PdnResources.GetString("Menu.Edit.Delete.Text");
this.button_all.Text = PdnResources.GetString("Menu.Showall.text");
this.Column5.HeaderText = PdnResources.GetString("Menu.picture.Text");
this.dataGridViewTextBoxColumn1.HeaderText = PdnResources.GetString("Menu.Phasename.text");
this.dataGridViewTextBoxColumn2.HeaderText = PdnResources.GetString("Menu.Phasearea.text");
}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.listView1 = new System.Windows.Forms.ListView();
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.btn_close = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.button1 = new System.Windows.Forms.Button();
this.groupBox_review = new System.Windows.Forms.GroupBox();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.listBox_analysisResult = new System.Windows.Forms.CheckedListBox();
this.button_remove = new System.Windows.Forms.Button();
this.button_all = new System.Windows.Forms.Button();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.dataGridView_results = new System.Windows.Forms.DataGridView();
this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.groupBox7 = new System.Windows.Forms.GroupBox();
this.button9 = new System.Windows.Forms.Button();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.label1 = new System.Windows.Forms.Label();
this.button4 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.button6 = new System.Windows.Forms.Button();
this.button5 = new System.Windows.Forms.Button();
this.numericUpDown_RangeEnd = new System.Windows.Forms.NumericUpDown();
this.numericUpDown_RangeStart = new System.Windows.Forms.NumericUpDown();
this.panel2 = new System.Windows.Forms.Panel();
this.cb8 = new System.Windows.Forms.CheckBox();
this.cb6 = new System.Windows.Forms.CheckBox();
this.cb4 = new System.Windows.Forms.CheckBox();
this.cb7 = new System.Windows.Forms.CheckBox();
this.cb5 = new System.Windows.Forms.CheckBox();
this.cb3 = new System.Windows.Forms.CheckBox();
this.cb2 = new System.Windows.Forms.CheckBox();
this.cb1 = new System.Windows.Forms.CheckBox();
this.label7 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.txt_phaseName = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.cb_SelectPhase = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
this.rb8 = new System.Windows.Forms.RadioButton();
this.rb7 = new System.Windows.Forms.RadioButton();
this.rb6 = new System.Windows.Forms.RadioButton();
this.rb5 = new System.Windows.Forms.RadioButton();
this.rb4 = new System.Windows.Forms.RadioButton();
this.rb3 = new System.Windows.Forms.RadioButton();
this.rb2 = new System.Windows.Forms.RadioButton();
this.rb1 = new System.Windows.Forms.RadioButton();
this.label2 = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.numericUpDown_SXEnd = new System.Windows.Forms.NumericUpDown();
this.numericUpDown_SXStart = new System.Windows.Forms.NumericUpDown();
this.numericUpDown_KDEnd = new System.Windows.Forms.NumericUpDown();
this.numericUpDown_KDStart = new System.Windows.Forms.NumericUpDown();
this.But_DeleteSX = new System.Windows.Forms.Button();
this.But_DeleteKD = new System.Windows.Forms.Button();
this.checkBox11 = new System.Windows.Forms.CheckBox();
this.checkBox10 = new System.Windows.Forms.CheckBox();
this.groupBox4.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox6.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView_results)).BeginInit();
this.groupBox7.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
this.groupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown_RangeEnd)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown_RangeStart)).BeginInit();
this.groupBox3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown_SXEnd)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown_SXStart)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown_KDEnd)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown_KDStart)).BeginInit();
this.SuspendLayout();
//
// groupBox4
//
this.groupBox4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.groupBox4.Controls.Add(this.listView1);
this.groupBox4.Location = new System.Drawing.Point(13, 72);
this.groupBox4.Margin = new System.Windows.Forms.Padding(4);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Padding = new System.Windows.Forms.Padding(4);
this.groupBox4.Size = new System.Drawing.Size(158, 483);
this.groupBox4.TabIndex = 9;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "图像索引";
//
// listView1
//
this.listView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.listView1.HideSelection = false;
this.listView1.LargeImageList = this.imageList1;
this.listView1.Location = new System.Drawing.Point(8, 26);
this.listView1.Margin = new System.Windows.Forms.Padding(4);
this.listView1.MultiSelect = false;
this.listView1.Name = "listView1";
this.listView1.Size = new System.Drawing.Size(140, 449);
this.listView1.TabIndex = 0;
this.listView1.UseCompatibleStateImageBehavior = false;
this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged);
//
// imageList1
//
this.imageList1.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
this.imageList1.ImageSize = new System.Drawing.Size(64, 64);
this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
//
// groupBox1
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox1.Controls.Add(this.btn_close);
this.groupBox1.Controls.Add(this.button2);
this.groupBox1.Controls.Add(this.checkBox1);
this.groupBox1.Controls.Add(this.button1);
this.groupBox1.Location = new System.Drawing.Point(20, 12);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(1145, 53);
this.groupBox1.TabIndex = 10;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "操作";
//
// btn_close
//
this.btn_close.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btn_close.Location = new System.Drawing.Point(972, 21);
this.btn_close.Name = "btn_close";
this.btn_close.Size = new System.Drawing.Size(75, 23);
this.btn_close.TabIndex = 3;
this.btn_close.Text = "关闭";
this.btn_close.UseVisualStyleBackColor = true;
this.btn_close.Click += new System.EventHandler(this.btn_close_Click);
//
// button2
//
this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.button2.Location = new System.Drawing.Point(1053, 21);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 23);
this.button2.TabIndex = 2;
this.button2.Text = "保存结果";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.Location = new System.Drawing.Point(98, 24);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(132, 16);
this.checkBox1.TabIndex = 1;
this.checkBox1.Text = "生成报告时打开设置";
this.checkBox1.UseVisualStyleBackColor = true;
//
// button1
//
this.button1.Location = new System.Drawing.Point(6, 24);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 0;
this.button1.Text = "设置";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// groupBox_review
//
this.groupBox_review.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox_review.Location = new System.Drawing.Point(590, 72);
this.groupBox_review.Name = "groupBox_review";
this.groupBox_review.Size = new System.Drawing.Size(575, 483);
this.groupBox_review.TabIndex = 12;
this.groupBox_review.TabStop = false;
this.groupBox_review.Text = "预览";
//
// groupBox5
//
this.groupBox5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.groupBox5.Controls.Add(this.listBox_analysisResult);
this.groupBox5.Controls.Add(this.button_remove);
this.groupBox5.Controls.Add(this.button_all);
this.groupBox5.Location = new System.Drawing.Point(12, 562);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(224, 165);
this.groupBox5.TabIndex = 13;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "分析结果";
//
// listBox_analysisResult
//
this.listBox_analysisResult.CheckOnClick = true;
this.listBox_analysisResult.FormattingEnabled = true;
this.listBox_analysisResult.HorizontalScrollbar = true;
this.listBox_analysisResult.Location = new System.Drawing.Point(11, 59);
this.listBox_analysisResult.Name = "listBox_analysisResult";
this.listBox_analysisResult.Size = new System.Drawing.Size(202, 100);
this.listBox_analysisResult.TabIndex = 11;
this.listBox_analysisResult.SelectedIndexChanged += new System.EventHandler(this.listBox_analysisResult_SelectedIndexChanged);
//
// button_remove
//
this.button_remove.Location = new System.Drawing.Point(130, 24);
this.button_remove.Name = "button_remove";
this.button_remove.Size = new System.Drawing.Size(75, 23);
this.button_remove.TabIndex = 8;
this.button_remove.Text = "删除";
this.button_remove.UseVisualStyleBackColor = true;
this.button_remove.Click += new System.EventHandler(this.button_remove_Click);
//
// button_all
//
this.button_all.Location = new System.Drawing.Point(14, 24);
this.button_all.Name = "button_all";
this.button_all.Size = new System.Drawing.Size(75, 23);
this.button_all.TabIndex = 1;
this.button_all.Text = "全部显示";
this.button_all.UseVisualStyleBackColor = true;
this.button_all.Click += new System.EventHandler(this.button_all_Click);
//
// groupBox6
//
this.groupBox6.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox6.Controls.Add(this.dataGridView_results);
this.groupBox6.Location = new System.Drawing.Point(249, 562);
this.groupBox6.Name = "groupBox6";
this.groupBox6.Size = new System.Drawing.Size(769, 165);
this.groupBox6.TabIndex = 14;
this.groupBox6.TabStop = false;
//
// dataGridView_results
//
this.dataGridView_results.AllowUserToAddRows = false;
this.dataGridView_results.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.dataGridView_results.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.dataGridView_results.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView_results.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column5,
this.dataGridViewTextBoxColumn1,
this.dataGridViewTextBoxColumn2,
this.dataGridViewTextBoxColumn3,
this.dataGridViewTextBoxColumn4});
this.dataGridView_results.Location = new System.Drawing.Point(16, 20);
this.dataGridView_results.Name = "dataGridView_results";
this.dataGridView_results.RowHeadersVisible = false;
this.dataGridView_results.RowHeadersWidth = 51;
this.dataGridView_results.RowTemplate.Height = 27;
this.dataGridView_results.Size = new System.Drawing.Size(733, 139);
this.dataGridView_results.TabIndex = 1;
//
// Column5
//
this.Column5.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.Column5.HeaderText = "Column5";
this.Column5.MinimumWidth = 6;
this.Column5.Name = "Column5";
//
// dataGridViewTextBoxColumn1
//
this.dataGridViewTextBoxColumn1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.dataGridViewTextBoxColumn1.HeaderText = "dataGridViewTextBoxColumn1";
this.dataGridViewTextBoxColumn1.MinimumWidth = 6;
this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
//
// dataGridViewTextBoxColumn2
//
this.dataGridViewTextBoxColumn2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.dataGridViewTextBoxColumn2.HeaderText = "dataGridViewTextBoxColumn2";
this.dataGridViewTextBoxColumn2.MinimumWidth = 6;
this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";
//
// dataGridViewTextBoxColumn3
//
this.dataGridViewTextBoxColumn3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.dataGridViewTextBoxColumn3.HeaderText = "dataGridViewTextBoxColumn3";
this.dataGridViewTextBoxColumn3.MinimumWidth = 6;
this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3";
//
// dataGridViewTextBoxColumn4
//
this.dataGridViewTextBoxColumn4.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.dataGridViewTextBoxColumn4.HeaderText = "dataGridViewTextBoxColumn4";
this.dataGridViewTextBoxColumn4.MinimumWidth = 6;
this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4";
//
// groupBox7
//
this.groupBox7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.groupBox7.Controls.Add(this.button9);
this.groupBox7.Controls.Add(this.numericUpDown1);
this.groupBox7.Controls.Add(this.label1);
this.groupBox7.Controls.Add(this.button4);
this.groupBox7.Controls.Add(this.button3);
this.groupBox7.Location = new System.Drawing.Point(1031, 562);
this.groupBox7.Name = "groupBox7";
this.groupBox7.Size = new System.Drawing.Size(133, 165);
this.groupBox7.TabIndex = 15;
this.groupBox7.TabStop = false;
//
// button9
//
this.button9.Location = new System.Drawing.Point(29, 89);
this.button9.Name = "button9";
this.button9.Size = new System.Drawing.Size(75, 23);
this.button9.TabIndex = 7;
this.button9.Text = "项目工程";
this.button9.UseVisualStyleBackColor = true;
this.button9.Click += new System.EventHandler(this.button9_Click);
//
// numericUpDown1
//
this.numericUpDown1.Location = new System.Drawing.Point(62, 127);
this.numericUpDown1.Maximum = new decimal(new int[] {
10,
0,
0,
0});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(42, 21);
this.numericUpDown1.TabIndex = 4;
this.numericUpDown1.Value = new decimal(new int[] {
2,
0,
0,
0});
this.numericUpDown1.ValueChanged += new System.EventHandler(this.numericUpDown1_ValueChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(27, 129);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(41, 12);
this.label1.TabIndex = 3;
this.label1.Text = "小数:";
//
// button4
//
this.button4.Location = new System.Drawing.Point(29, 53);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(75, 23);
this.button4.TabIndex = 1;
this.button4.Text = "导出结果";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// button3
//
this.button3.Location = new System.Drawing.Point(29, 18);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(75, 23);
this.button3.TabIndex = 0;
this.button3.Text = "生成报告";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// groupBox2
//
this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.groupBox2.Controls.Add(this.button6);
this.groupBox2.Controls.Add(this.button5);
this.groupBox2.Controls.Add(this.numericUpDown_RangeEnd);
this.groupBox2.Controls.Add(this.numericUpDown_RangeStart);
this.groupBox2.Controls.Add(this.panel2);
this.groupBox2.Controls.Add(this.cb8);
this.groupBox2.Controls.Add(this.cb6);
this.groupBox2.Controls.Add(this.cb4);
this.groupBox2.Controls.Add(this.cb7);
this.groupBox2.Controls.Add(this.cb5);
this.groupBox2.Controls.Add(this.cb3);
this.groupBox2.Controls.Add(this.cb2);
this.groupBox2.Controls.Add(this.cb1);
this.groupBox2.Controls.Add(this.label7);
this.groupBox2.Controls.Add(this.label6);
this.groupBox2.Controls.Add(this.label5);
this.groupBox2.Controls.Add(this.txt_phaseName);
this.groupBox2.Controls.Add(this.label4);
this.groupBox2.Controls.Add(this.cb_SelectPhase);
this.groupBox2.Controls.Add(this.label3);
this.groupBox2.Controls.Add(this.rb8);
this.groupBox2.Controls.Add(this.rb7);
this.groupBox2.Controls.Add(this.rb6);
this.groupBox2.Controls.Add(this.rb5);
this.groupBox2.Controls.Add(this.rb4);
this.groupBox2.Controls.Add(this.rb3);
this.groupBox2.Controls.Add(this.rb2);
this.groupBox2.Controls.Add(this.rb1);
this.groupBox2.Controls.Add(this.label2);
this.groupBox2.Controls.Add(this.panel1);
this.groupBox2.Location = new System.Drawing.Point(178, 72);
this.groupBox2.Margin = new System.Windows.Forms.Padding(3, 3, 3, 112);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(406, 366);
this.groupBox2.TabIndex = 18;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "相设置";
//
// button6
//
this.button6.Location = new System.Drawing.Point(279, 311);
this.button6.Name = "button6";
this.button6.Size = new System.Drawing.Size(75, 23);
this.button6.TabIndex = 32;
this.button6.Text = "原图";
this.button6.UseVisualStyleBackColor = true;
this.button6.Click += new System.EventHandler(this.button6_Click);
//
// button5
//
this.button5.Location = new System.Drawing.Point(188, 311);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(75, 23);
this.button5.TabIndex = 31;
this.button5.Text = "全选";
this.button5.UseVisualStyleBackColor = true;
this.button5.Click += new System.EventHandler(this.button5_Click);
//
// numericUpDown_RangeEnd
//
this.numericUpDown_RangeEnd.Location = new System.Drawing.Point(270, 187);
this.numericUpDown_RangeEnd.Maximum = new decimal(new int[] {
256,
0,
0,
0});
this.numericUpDown_RangeEnd.Name = "numericUpDown_RangeEnd";
this.numericUpDown_RangeEnd.Size = new System.Drawing.Size(52, 21);
this.numericUpDown_RangeEnd.TabIndex = 30;
this.numericUpDown_RangeEnd.ValueChanged += new System.EventHandler(this.numericUpDown_RangeEnd_ValueChanged);
this.numericUpDown_RangeEnd.KeyUp += new System.Windows.Forms.KeyEventHandler(this.numericUpDown_RangeEnd_KeyUp);
//
// numericUpDown_RangeStart
//
this.numericUpDown_RangeStart.Location = new System.Drawing.Point(187, 187);
this.numericUpDown_RangeStart.Maximum = new decimal(new int[] {
256,
0,
0,
0});
this.numericUpDown_RangeStart.Name = "numericUpDown_RangeStart";
this.numericUpDown_RangeStart.Size = new System.Drawing.Size(51, 21);
this.numericUpDown_RangeStart.TabIndex = 29;
this.numericUpDown_RangeStart.ValueChanged += new System.EventHandler(this.numericUpDown_RangeStart_ValueChanged);
this.numericUpDown_RangeStart.KeyUp += new System.Windows.Forms.KeyEventHandler(this.numericUpDown_RangeStart_KeyUp);
//
// panel2
//
this.panel2.BackColor = System.Drawing.Color.White;
this.panel2.Location = new System.Drawing.Point(187, 150);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(135, 22);
this.panel2.TabIndex = 28;
this.panel2.Click += new System.EventHandler(this.panel2_Click);
//
// cb8
//
this.cb8.AutoSize = true;
this.cb8.Location = new System.Drawing.Point(247, 288);
this.cb8.Name = "cb8";
this.cb8.Size = new System.Drawing.Size(42, 16);
this.cb8.TabIndex = 27;
this.cb8.Text = "相8";
this.cb8.UseVisualStyleBackColor = true;
this.cb8.CheckedChanged += new System.EventHandler(this.cb8_CheckedChanged);
//
// cb6
//
this.cb6.AutoSize = true;
this.cb6.Location = new System.Drawing.Point(247, 266);
this.cb6.Name = "cb6";
this.cb6.Size = new System.Drawing.Size(42, 16);
this.cb6.TabIndex = 26;
this.cb6.Text = "相6";
this.cb6.UseVisualStyleBackColor = true;
this.cb6.CheckedChanged += new System.EventHandler(this.cb6_CheckedChanged);
//
// cb4
//
this.cb4.AutoSize = true;
this.cb4.Location = new System.Drawing.Point(247, 244);
this.cb4.Name = "cb4";
this.cb4.Size = new System.Drawing.Size(42, 16);
this.cb4.TabIndex = 25;
this.cb4.Text = "相4";
this.cb4.UseVisualStyleBackColor = true;
this.cb4.CheckedChanged += new System.EventHandler(this.cb4_CheckedChanged);
//
// cb7
//
this.cb7.AutoSize = true;
this.cb7.Location = new System.Drawing.Point(188, 288);
this.cb7.Name = "cb7";
this.cb7.Size = new System.Drawing.Size(42, 16);
this.cb7.TabIndex = 24;
this.cb7.Text = "相7";
this.cb7.UseVisualStyleBackColor = true;
this.cb7.CheckedChanged += new System.EventHandler(this.cb7_CheckedChanged);
//
// cb5
//
this.cb5.AutoSize = true;
this.cb5.Location = new System.Drawing.Point(188, 266);
this.cb5.Name = "cb5";
this.cb5.Size = new System.Drawing.Size(42, 16);
this.cb5.TabIndex = 23;
this.cb5.Text = "相5";
this.cb5.UseVisualStyleBackColor = true;
this.cb5.CheckedChanged += new System.EventHandler(this.cb5_CheckedChanged);
//
// cb3
//
this.cb3.AutoSize = true;
this.cb3.Location = new System.Drawing.Point(188, 244);
this.cb3.Name = "cb3";
this.cb3.Size = new System.Drawing.Size(42, 16);
this.cb3.TabIndex = 22;
this.cb3.Text = "相3";
this.cb3.UseVisualStyleBackColor = true;
this.cb3.CheckedChanged += new System.EventHandler(this.cb3_CheckedChanged);
//
// cb2
//
this.cb2.AutoSize = true;
this.cb2.Location = new System.Drawing.Point(247, 222);
this.cb2.Name = "cb2";
this.cb2.Size = new System.Drawing.Size(42, 16);
this.cb2.TabIndex = 21;
this.cb2.Text = "相2";
this.cb2.UseVisualStyleBackColor = true;
this.cb2.CheckedChanged += new System.EventHandler(this.cb2_CheckedChanged);
//
// cb1
//
this.cb1.AutoSize = true;
this.cb1.Location = new System.Drawing.Point(188, 222);
this.cb1.Name = "cb1";
this.cb1.Size = new System.Drawing.Size(42, 16);
this.cb1.TabIndex = 20;
this.cb1.Text = "相1";
this.cb1.UseVisualStyleBackColor = true;
this.cb1.CheckedChanged += new System.EventHandler(this.cb1_CheckedChanged);
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(105, 223);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(53, 12);
this.label7.TabIndex = 19;
this.label7.Text = "显示物相";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(105, 189);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(53, 12);
this.label6.TabIndex = 16;
this.label6.Text = "物相区间";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(105, 150);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(53, 12);
this.label5.TabIndex = 14;
this.label5.Text = "物相颜色";
//
// txt_phaseName
//
this.txt_phaseName.Location = new System.Drawing.Point(188, 117);
this.txt_phaseName.Name = "txt_phaseName";
this.txt_phaseName.ReadOnly = true;
this.txt_phaseName.Size = new System.Drawing.Size(134, 21);
this.txt_phaseName.TabIndex = 13;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(105, 117);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(53, 12);
this.label4.TabIndex = 12;
this.label4.Text = "物相名称";
//
// cb_SelectPhase
//
this.cb_SelectPhase.FormattingEnabled = true;
this.cb_SelectPhase.Location = new System.Drawing.Point(188, 85);
this.cb_SelectPhase.Name = "cb_SelectPhase";
this.cb_SelectPhase.Size = new System.Drawing.Size(134, 20);
this.cb_SelectPhase.TabIndex = 11;
this.cb_SelectPhase.SelectedIndexChanged += new System.EventHandler(this.cb_SelectPhase_SelectedIndexChanged);
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(105, 88);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(53, 12);
this.label3.TabIndex = 10;
this.label3.Text = "物相选择";
//
// rb8
//
this.rb8.AutoSize = true;
this.rb8.Location = new System.Drawing.Point(293, 57);
this.rb8.Name = "rb8";
this.rb8.Size = new System.Drawing.Size(29, 16);
this.rb8.TabIndex = 9;
this.rb8.TabStop = true;
this.rb8.Text = "8";
this.rb8.UseVisualStyleBackColor = true;
this.rb8.CheckedChanged += new System.EventHandler(this.rb8_CheckedChanged);
//
// rb7
//
this.rb7.AutoSize = true;
this.rb7.Location = new System.Drawing.Point(258, 57);
this.rb7.Name = "rb7";
this.rb7.Size = new System.Drawing.Size(29, 16);
this.rb7.TabIndex = 8;
this.rb7.TabStop = true;
this.rb7.Text = "7";
this.rb7.UseVisualStyleBackColor = true;
this.rb7.CheckedChanged += new System.EventHandler(this.rb7_CheckedChanged);
//
// rb6
//
this.rb6.AutoSize = true;
this.rb6.Location = new System.Drawing.Point(223, 57);
this.rb6.Name = "rb6";
this.rb6.Size = new System.Drawing.Size(29, 16);
this.rb6.TabIndex = 7;
this.rb6.TabStop = true;
this.rb6.Text = "6";
this.rb6.UseVisualStyleBackColor = true;
this.rb6.CheckedChanged += new System.EventHandler(this.rb6_CheckedChanged);
//
// rb5
//
this.rb5.AutoSize = true;
this.rb5.Location = new System.Drawing.Point(188, 57);
this.rb5.Name = "rb5";
this.rb5.Size = new System.Drawing.Size(29, 16);
this.rb5.TabIndex = 6;
this.rb5.TabStop = true;
this.rb5.Text = "5";
this.rb5.UseVisualStyleBackColor = true;
this.rb5.CheckedChanged += new System.EventHandler(this.rb5_CheckedChanged);
//
// rb4
//
this.rb4.AutoSize = true;
this.rb4.Location = new System.Drawing.Point(293, 26);
this.rb4.Name = "rb4";
this.rb4.Size = new System.Drawing.Size(29, 16);
this.rb4.TabIndex = 5;
this.rb4.TabStop = true;
this.rb4.Text = "4";
this.rb4.UseVisualStyleBackColor = true;
this.rb4.CheckedChanged += new System.EventHandler(this.rb4_CheckedChanged);
//
// rb3
//
this.rb3.AutoSize = true;
this.rb3.Location = new System.Drawing.Point(258, 26);
this.rb3.Name = "rb3";
this.rb3.Size = new System.Drawing.Size(29, 16);
this.rb3.TabIndex = 4;
this.rb3.TabStop = true;
this.rb3.Text = "3";
this.rb3.UseVisualStyleBackColor = true;
this.rb3.CheckedChanged += new System.EventHandler(this.rb3_CheckedChanged);
//
// rb2
//
this.rb2.AutoSize = true;
this.rb2.Location = new System.Drawing.Point(223, 26);
this.rb2.Name = "rb2";
this.rb2.Size = new System.Drawing.Size(29, 16);
this.rb2.TabIndex = 3;
this.rb2.TabStop = true;
this.rb2.Text = "2";
this.rb2.UseVisualStyleBackColor = true;
this.rb2.CheckedChanged += new System.EventHandler(this.rb2_CheckedChanged);
//
// rb1
//
this.rb1.AutoSize = true;
this.rb1.Location = new System.Drawing.Point(188, 26);
this.rb1.Name = "rb1";
this.rb1.Size = new System.Drawing.Size(29, 16);
this.rb1.TabIndex = 2;
this.rb1.TabStop = true;
this.rb1.Text = "1";
this.rb1.UseVisualStyleBackColor = true;
this.rb1.CheckedChanged += new System.EventHandler(this.rb1_CheckedChanged);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(107, 26);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(53, 12);
this.label2.TabIndex = 1;
this.label2.Text = "多相数量";
//
// panel1
//
this.panel1.Location = new System.Drawing.Point(6, 26);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(93, 256);
this.panel1.TabIndex = 0;
//
// groupBox3
//
this.groupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.groupBox3.Controls.Add(this.numericUpDown_SXEnd);
this.groupBox3.Controls.Add(this.numericUpDown_SXStart);
this.groupBox3.Controls.Add(this.numericUpDown_KDEnd);
this.groupBox3.Controls.Add(this.numericUpDown_KDStart);
this.groupBox3.Controls.Add(this.But_DeleteSX);
this.groupBox3.Controls.Add(this.But_DeleteKD);
this.groupBox3.Controls.Add(this.checkBox11);
this.groupBox3.Controls.Add(this.checkBox10);
this.groupBox3.Location = new System.Drawing.Point(178, 444);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(406, 112);
this.groupBox3.TabIndex = 17;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "二值操作";
//
// numericUpDown_SXEnd
//
this.numericUpDown_SXEnd.Location = new System.Drawing.Point(206, 64);
this.numericUpDown_SXEnd.Maximum = new decimal(new int[] {
100000000,
0,
0,
0});
this.numericUpDown_SXEnd.Name = "numericUpDown_SXEnd";
this.numericUpDown_SXEnd.Size = new System.Drawing.Size(51, 21);
this.numericUpDown_SXEnd.TabIndex = 33;
//
// numericUpDown_SXStart
//
this.numericUpDown_SXStart.Location = new System.Drawing.Point(135, 64);
this.numericUpDown_SXStart.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.numericUpDown_SXStart.Name = "numericUpDown_SXStart";
this.numericUpDown_SXStart.Size = new System.Drawing.Size(51, 21);
this.numericUpDown_SXStart.TabIndex = 32;
//
// numericUpDown_KDEnd
//
this.numericUpDown_KDEnd.Location = new System.Drawing.Point(206, 31);
this.numericUpDown_KDEnd.Maximum = new decimal(new int[] {
100000000,
0,
0,
0});
this.numericUpDown_KDEnd.Name = "numericUpDown_KDEnd";
this.numericUpDown_KDEnd.Size = new System.Drawing.Size(51, 21);
this.numericUpDown_KDEnd.TabIndex = 31;
//
// numericUpDown_KDStart
//
this.numericUpDown_KDStart.Location = new System.Drawing.Point(135, 33);
this.numericUpDown_KDStart.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.numericUpDown_KDStart.Name = "numericUpDown_KDStart";
this.numericUpDown_KDStart.Size = new System.Drawing.Size(51, 21);
this.numericUpDown_KDStart.TabIndex = 30;
//
// But_DeleteSX
//
this.But_DeleteSX.Location = new System.Drawing.Point(273, 65);
this.But_DeleteSX.Name = "But_DeleteSX";
this.But_DeleteSX.Size = new System.Drawing.Size(75, 23);
this.But_DeleteSX.TabIndex = 7;
this.But_DeleteSX.Text = "应用";
this.But_DeleteSX.UseVisualStyleBackColor = true;
this.But_DeleteSX.Click += new System.EventHandler(this.But_DeleteSX_Click);
//
// But_DeleteKD
//
this.But_DeleteKD.Location = new System.Drawing.Point(273, 31);
this.But_DeleteKD.Name = "But_DeleteKD";
this.But_DeleteKD.Size = new System.Drawing.Size(75, 23);
this.But_DeleteKD.TabIndex = 6;
this.But_DeleteKD.Text = "应用";
this.But_DeleteKD.UseVisualStyleBackColor = true;
this.But_DeleteKD.Click += new System.EventHandler(this.But_DeleteKD_Click);
//
// checkBox11
//
this.checkBox11.AutoSize = true;
this.checkBox11.Location = new System.Drawing.Point(21, 69);
this.checkBox11.Name = "checkBox11";
this.checkBox11.Size = new System.Drawing.Size(108, 16);
this.checkBox11.TabIndex = 1;
this.checkBox11.Text = "碎屑删除(μm²)";
this.checkBox11.UseVisualStyleBackColor = true;
this.checkBox11.CheckedChanged += new System.EventHandler(this.checkBox11_CheckedChanged);
//
// checkBox10
//
this.checkBox10.AutoSize = true;
this.checkBox10.Location = new System.Drawing.Point(21, 36);
this.checkBox10.Name = "checkBox10";
this.checkBox10.Size = new System.Drawing.Size(108, 16);
this.checkBox10.TabIndex = 0;
this.checkBox10.Text = "孔洞删除(μm²)";
this.checkBox10.UseVisualStyleBackColor = true;
this.checkBox10.CheckedChanged += new System.EventHandler(this.checkBox10_CheckedChanged);
//
// PolyphaseMutiAreaContent
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1177, 744);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox7);
this.Controls.Add(this.groupBox6);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox_review);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.groupBox4);
this.Name = "PolyphaseMutiAreaContent";
this.Text = "多相含量";
this.Controls.SetChildIndex(this.groupBox4, 0);
this.Controls.SetChildIndex(this.groupBox1, 0);
this.Controls.SetChildIndex(this.groupBox_review, 0);
this.Controls.SetChildIndex(this.groupBox5, 0);
this.Controls.SetChildIndex(this.groupBox6, 0);
this.Controls.SetChildIndex(this.groupBox7, 0);
this.Controls.SetChildIndex(this.groupBox2, 0);
this.Controls.SetChildIndex(this.groupBox3, 0);
this.groupBox4.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox6.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dataGridView_results)).EndInit();
this.groupBox7.ResumeLayout(false);
this.groupBox7.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown_RangeEnd)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown_RangeStart)).EndInit();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown_SXEnd)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown_SXStart)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown_KDEnd)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown_KDStart)).EndInit();
this.ResumeLayout(false);
}
#endregion
private void Init_CheckBoxes()
{
foreach (Control ctrl in this.groupBox2.Controls) //遍历窗体中的所有控件,Control是所有控件的基类
{
if (ctrl.GetType().Name == "CheckBox") //判断是否为CheckBox
{
if (ctrl.Name.IndexOf("cb")>=0)
{
CheckBox cBox = (CheckBox)ctrl; //创建CheckBox对象
cBox.Checked = false;
cBox.Enabled = false;
}
}
}
}
private void ChangeNumber(int num)
{
this.documentWorkspace.phaseModels.Clear();
this.cb_SelectPhase.Items.Clear();
this.phaseModels.Clear();
this.mPhaseModels.Clear();
this.viewModels.Clear();
this.rangeColors.Clear();
cb_SelectPhase.Text = "";
selectIndex = 0;
this.xiang_num = num;
Init_CheckBoxes();
int step = 255 / num;
for (int i = 0; i < num; i++)
{
PhaseModel model = this.applyButtonImpl(DefaultColor[i], i * step, (i + 1) * step);
model.name = "相" + (i + 1);
PhaseModel viewModel = new PhaseModel();
viewModel.choise = model.choise;
viewModel.color = model.color;
viewModel.name = model.name;
viewModel.position = model.position;
viewModel.mat = new OpenCvSharp.Mat();
model.mat.CopyTo(viewModel.mat);
MutiPolyphaseModel mPModel = new MutiPolyphaseModel();
mPModel.Model = viewModel;
int start = i * step;
if (i != 0)
{
start += 1;
}
mPModel.ColorStart = start;
mPModel.ColorEnd = (i + 1) * step;
if (i == num - 1)
{
mPModel.ColorEnd = 255;
}
mPhaseModels.Add(mPModel);
viewModels.Add(viewModel);
phaseModels.Add(model);
rangeColors.Add(new RangeColor(mPModel.ColorStart, mPModel.ColorEnd, DefaultColor[i]));
cb_SelectPhase.Items.Add(mPModel.Model.name);
foreach (Control ctrl in this.groupBox2.Controls) //遍历窗体中的所有控件,Control是所有控件的基类
{
if (ctrl.GetType().Name == "CheckBox") //判断是否为CheckBox
{
if (ctrl.Name.Equals("cb"+(i+1)))
{
CheckBox cBox = (CheckBox)ctrl; //创建CheckBox对象
cBox.Checked = true;
cBox.Enabled = true;
}
}
}
}
this.cRControl.RangeColors = rangeColors;
this.cRControl.Refresh();
this.documentWorkspace.phaseModels = viewModels;
this.documentWorkspace.Refresh();
ShowthisParams(mPhaseModels[0]);
}
private void ShowthisParams(MutiPolyphaseModel pModel)
{
cb_SelectPhase.SelectedText = pModel.Model.name;
cb_SelectPhase.SelectedIndex = 0;
selectIndex = cb_SelectPhase.SelectedIndex;
this.cRControl.SelectIndex = cb_SelectPhase.SelectedIndex;
txt_phaseName.Text = pModel.Model.name;
panel2.BackColor = Color.FromArgb(pModel.Model.color);
numericUpDown_RangeStart.Value = pModel.ColorStart;
numericUpDown_RangeEnd.Value = pModel.ColorEnd;
}
///
/// 参数改变时,重新处理图像
///
///
///
private PhaseModel applyButtonImpl(Color pColor,int start,int end)
{
PhaseModel model = new PhaseModel();
if (this.listView1.FocusedItem != null)
{
//判断是否存在视场,如果存在视场,则把视场提取出来,进行处理
foreach (Args args in action.Lists)
{
if (args.Key == "phaseColor")
{
args.Value = pColor.ToArgb();
break;
}
if (args.Key == "scope1")
{
List twoL = new List();
twoL.Add(start);
twoL.Add(end);
args.Value = twoL;
}
}
if (this.documentWorkspace.GraphicsList.IsExsitView())
{
model.mat = action.PerformProcess(
PaintDotNet.Camera.Tools.ToMat(this.documentWorkspace.GetFullSizeWithRegion()),
this.imageMat.Clone());
model.color = pColor.ToArgb();
model.choise = true;
}
else
{
model.mat = action.PerformProcess(this.imageMat.Clone());
model.color = pColor.ToArgb();
model.choise = true;
}
}
return model;
}
#region select phase Numer
private void rb1_CheckedChanged(object sender, EventArgs e)
{
if (rb1.Checked)
{
ChangeNumber(1);
}
}
private void rb2_CheckedChanged(object sender, EventArgs e)
{
if (rb2.Checked)
{
ChangeNumber(2);
}
}
private void rb3_CheckedChanged(object sender, EventArgs e)
{
if (rb3.Checked)
{
ChangeNumber(3);
}
}
private void rb4_CheckedChanged(object sender, EventArgs e)
{
if (rb4.Checked)
{
ChangeNumber(4);
}
}
private void rb5_CheckedChanged(object sender, EventArgs e)
{
if (rb5.Checked)
{
ChangeNumber(5);
}
}
private void rb6_CheckedChanged(object sender, EventArgs e)
{
if (rb6.Checked)
{
ChangeNumber(6);
}
}
private void rb7_CheckedChanged(object sender, EventArgs e)
{
if (rb7.Checked)
{
ChangeNumber(7);
}
}
private void rb8_CheckedChanged(object sender, EventArgs e)
{
if (rb8.Checked)
{
ChangeNumber(8);
}
}
#endregion
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.listView1.FocusedItem != null && this.listView1.FocusedItem.Selected)
{
if (!string.IsNullOrEmpty(this.selectedImg))
{
#region [保存图片参数]
PolyphaseMutiAreaContentModel model = new PolyphaseMutiAreaContentModel();
model.hasUsed = true;
model.parameter1 = xiang_num;
model.parameter12 = checkBox1.Checked;
model.parameter13 = commonControlButtons.trackBar.Value;
model.parameter2 = cb_SelectPhase.SelectedItem == null ? "" : cb_SelectPhase.SelectedItem.ToString();
if (model.parameter3 == null)
{
model.parameter3 = new List();
}
var list = new List();
foreach (var s in mPhaseModels)
{
PolyphaseData data = new PolyphaseData();
data.color = s.Model.color;
data.downNum = s.ColorStart;
data.upNum = s.ColorEnd;
list.Add(data);
}
model.parameter3 = list;
#region [保存物相选择]
string all = String.Empty;
if (cb1.Checked)
{
all += "1,";
}
if (cb2.Checked)
{
all += "2,";
}
if (cb3.Checked)
{
all += "3,";
}
if (cb4.Checked)
{
all += "4,";
}
if (cb5.Checked)
{
all += "5,";
}
if (cb6.Checked)
{
all += "6,";
}
if (cb7.Checked)
{
all += "7,";
}
if (cb8.Checked)
{
all += "8,";
}
model.parameter4 = all;
#endregion
model.parameter5 = checkBox10.Checked;
model.parameter6 = checkBox11.Checked;
model.parameter7 = (int)numericUpDown_KDStart.Value;
model.parameter8 = (int)numericUpDown_KDEnd.Value;
model.parameter9 = (int)numericUpDown_SXStart.Value;
model.parameter10 = (int)numericUpDown_SXEnd.Value;
model.parameter11 = (int)numericUpDown1.Value;
if (everyImgData.ContainsKey(this.selectedImg))
{
everyImgData[this.selectedImg] = model;
}
else
{
everyImgData.Add(this.selectedImg, model);
}
#endregion
}
this.imageMat = this.appWorkspace.DocumentWorkspaces[this.listView1.FocusedItem.Index].CompositionSurface.CreatedAliasedMat();
Document document = Document.FromImageMat(imageMat.Clone());
this.documentWorkspace.Document = document;
this.documentWorkspace.Visible = true;
this.documentWorkspace.GraphicsList = this.appWorkspace.DocumentWorkspaces[this.listView1.FocusedItem.Index].GraphicsList;
#region [设置参数]
this.selectedImg = this.listView1.FocusedItem.Name;
if (everyImgData.ContainsKey(this.selectedImg)) {
var imgData = everyImgData[this.selectedImg];
#region [多相数量]
switch (imgData.parameter1)
{
case 0:
rb1.Checked = true;
break;
case 1:
rb1.Checked = true;
break;
case 2:
rb1.Checked = true;
rb2.Checked = true;
break;
case 3:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
break;
case 4:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
rb4.Checked = true;
break;
case 5:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
rb4.Checked = true;
rb5.Checked = true;
break;
case 6:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
rb4.Checked = true;
rb5.Checked = true;
rb6.Checked = true;
break;
case 7:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
rb4.Checked = true;
rb5.Checked = true;
rb6.Checked = true;
rb7.Checked = true;
break;
case 8:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
rb4.Checked = true;
rb5.Checked = true;
rb6.Checked = true;
rb7.Checked = true;
rb8.Checked = true;
break;
}
#endregion
#region [相信息]
for (int i = 0; i < imgData.parameter3.Count; i++)
{
PolyphaseData data = imgData.parameter3[i];
viewModels[i].color = data.color;
mPhaseModels[i].Model.color = data.color;
mPhaseModels[i].ColorStart = data.downNum;
mPhaseModels[i].ColorEnd = data.upNum;
cRControl.SetColor(i, Color.FromArgb(data.color));
PhaseModel thisModel = this.applyButtonImpl(Color.FromArgb(data.color), data.downNum, data.upNum);
this.documentWorkspace.phaseModels[i] = thisModel;
this.phaseModels[i] = thisModel;
}
this.documentWorkspace.Refresh();
#endregion
checkBox1.Checked = imgData.parameter12;
cb_SelectPhase.SelectedItem = imgData.parameter2;
if (cb_SelectPhase.SelectedItem != null) {
txt_phaseName.Text = cb_SelectPhase.SelectedItem.ToString();
}
commonControlButtons.trackBar.Value = imgData.parameter13;
#region [显示物相]
string[] allNum = imgData.parameter4.Split(',');
if (allNum.Contains("1"))
{
cb1.Checked = true;
}
else
{
cb1.Checked = false;
}
if (allNum.Contains("2"))
{
cb2.Checked = true;
}
else
{
cb2.Checked = false;
}
if (allNum.Contains("3"))
{
cb3.Checked = true;
}
else
{
cb3.Checked = false;
}
if (allNum.Contains("4"))
{
cb4.Checked = true;
}
else
{
cb4.Checked = false;
}
if (allNum.Contains("5"))
{
cb5.Checked = true;
}
else
{
cb5.Checked = false;
}
if (allNum.Contains("6"))
{
cb6.Checked = true;
}
else
{
cb6.Checked = false;
}
if (allNum.Contains("7"))
{
cb7.Checked = true;
}
else
{
cb7.Checked = false;
}
if (allNum.Contains("8"))
{
cb8.Checked = true;
}
else
{
cb8.Checked = false;
}
#endregion
if (imgData.parameter5)
{
checkBox10.Checked = true;
numericUpDown_KDStart.Value = imgData.parameter7;
numericUpDown_KDEnd.Value = imgData.parameter8;
}
else {
checkBox10.Checked = false;
numericUpDown_KDStart.Value = 0;
numericUpDown_KDEnd.Value = 0;
}
if (imgData.parameter6)
{
checkBox11.Checked = true;
numericUpDown_SXStart.Value = imgData.parameter9;
numericUpDown_SXEnd.Value = imgData.parameter10;
}
else
{
checkBox11.Checked = false;
numericUpDown_SXStart.Value = 0;
numericUpDown_SXEnd.Value = 0;
}
numericUpDown1.Value = imgData.parameter11;
if (cb_SelectPhase.SelectedIndex == -1)
{
showParams(mPhaseModels[0]);
}
else
{
showParams(mPhaseModels[cb_SelectPhase.SelectedIndex]);
}
}
#endregion
this.orginPhaseModels.Clear();
groupBox2.Enabled = true;
}
}
private void panel2_Click(object sender, EventArgs e)
{
this.colorsFormGrid.UserPrimaryColor = ColorBgra.FromColor(this.panel2.BackColor);
this.colorsFormGrid.setSaveBtn_Click(new System.EventHandler(this.gridColorChanged));
this.colorsFormGrid.ShowDialog();
}
///
/// Panel2的调色板颜色改变
///
///
///
private void gridColorChanged(object sender, EventArgs e)
{
Color color = this.colorsFormGrid.UserPrimaryColor.ToColor();
//先修改参数
foreach (Args args in action.Lists)
{
if (args.Key == "phaseColor")
{
args.Value = color.ToArgb();
break;
}
}
//更改背景色,触发事件
this.panel2.BackColor = color;
//改变配置文件里面的相颜色
//this.binaryExtractionModel.PhaseColor = color.ToArgb();
//关闭色板
RangeColor active = rangeColors[selectIndex];
active.Color = color;
rangeColors[selectIndex] = active;
this.cRControl.RangeColors = rangeColors;
this.cRControl.Refresh();
PhaseModel model = this.applyButtonImpl(Color.FromArgb(color.ToArgb()), (int)numericUpDown_RangeStart.Value, (int)numericUpDown_RangeEnd.Value);
model.name = this.cb_SelectPhase.Items[selectIndex].ToString();
this.documentWorkspace.phaseModels[selectIndex] = model;
mPhaseModels[selectIndex].Model = model;
mPhaseModels[selectIndex].Model.color = color.ToArgb();
this.phaseModels[selectIndex] = model;
this.documentWorkspace.Refresh();
this.colorsFormGrid.Close();
}
private void ChangePhaseVisable(int num)
{
foreach (Control ctrl in this.groupBox2.Controls) //遍历窗体中的所有控件,Control是所有控件的基类
{
if (ctrl.GetType().Name == "CheckBox") //判断是否为CheckBox
{
if (ctrl.Name.Equals("cb" + num))
{
CheckBox cBox = (CheckBox)ctrl; //创建CheckBox对象
if (viewModels.Count >= num)
{
if (cBox.Checked)
{
viewModels[num-1].choise = true;
phaseModels[num - 1].choise = true;
}
else
{
viewModels[num-1].choise = false;
phaseModels[num - 1].choise = false;
}
}
}
}
}
this.documentWorkspace.phaseModels = viewModels;
this.documentWorkspace.Refresh();
}
private void cb1_CheckedChanged(object sender, EventArgs e)
{
ChangePhaseVisable(1);
}
private void cb2_CheckedChanged(object sender, EventArgs e)
{
ChangePhaseVisable(2);
}
private void cb3_CheckedChanged(object sender, EventArgs e)
{
ChangePhaseVisable(3);
}
private void cb4_CheckedChanged(object sender, EventArgs e)
{
ChangePhaseVisable(4);
}
private void cb5_CheckedChanged(object sender, EventArgs e)
{
ChangePhaseVisable(5);
}
private void cb6_CheckedChanged(object sender, EventArgs e)
{
ChangePhaseVisable(6);
}
private void cb7_CheckedChanged(object sender, EventArgs e)
{
ChangePhaseVisable(7);
}
private void cb8_CheckedChanged(object sender, EventArgs e)
{
ChangePhaseVisable(8);
}
private void cb_SelectPhase_SelectedIndexChanged(object sender, EventArgs e)
{
selectIndex = cb_SelectPhase.SelectedIndex;
this.cRControl.SelectIndex = cb_SelectPhase.SelectedIndex;
if (selectIndex != -1)
{
txt_phaseName.Text = mPhaseModels[selectIndex].Model.name;
numericUpDown_RangeStart.Value = mPhaseModels[selectIndex].ColorStart;
numericUpDown_RangeEnd.Value = mPhaseModels[selectIndex].ColorEnd;
panel2.BackColor = Color.FromArgb(mPhaseModels[selectIndex].Model.color);
}
}
private void showParams(MutiPolyphaseModel model)
{
if (cb_SelectPhase.SelectedIndex == -1) {
txt_phaseName.Text = model.Model.name;
}
numericUpDown_RangeStart.Value = model.ColorStart;
numericUpDown_RangeEnd.Value = model.ColorEnd;
panel2.BackColor = Color.FromArgb(model.Model.color);
}
private void button2_Click(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count==0)
{
MessageBox.Show(PdnResources.GetString("Menu.seselecttheimagethatyouwanttoan.Text")+"!");
return;
}
double pxPerUnit = this.appWorkspace.DocumentWorkspaces[this.listView1.FocusedItem.Index].GetRuler(MeasurementUnit.Micron);
String tag = listView1.FocusedItem.Text;
List tempBit = new List();
if (listView1.FocusedItem != null)
{
if (mainPolyphaseAnalysisResults.FindAll(item => item.GraphName.Equals(listView1.FocusedItem.Text)).Count == 0)
{
listBox_analysisResult.Items.Add(this.listView1.FocusedItem.Text);
listBox_analysisResult.SetItemChecked(listBox_analysisResult.Items.Count - 1, true);
}
else
{
DialogResult dr = MessageBox.Show(PdnResources.GetString("Menu.Theresuethertoreplace.text")+"?", PdnResources.GetString("Form.OkButton.Text"), MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
if (dr != DialogResult.OK)
{
return;
}
mainPolyphaseAnalysisResults.RemoveAll(item => item.GraphName.Equals(listView1.FocusedItem.Text));
viewPolyphaseAnalysisResults.RemoveAll(item => item.GraphName.Equals(listView1.FocusedItem.Text));
List list = new List();
foreach (var s in this.listBox_analysisResult.Items)
{
list.Add(s.ToString());
}
this.listBox_analysisResult.Items.Clear();
foreach (var s in list)
{
this.listBox_analysisResult.Items.Add(s);
}
var thisindex = this.listBox_analysisResult.Items.IndexOf(listView1.FocusedItem.Text);
this.listBox_analysisResult.SetItemChecked(thisindex, false);
this.listBox_analysisResult_SelectedIndexChanged(sender, e);
listBox_analysisResult.SetItemChecked(thisindex, true);
}
}else
{
MessageBox.Show(PdnResources.GetString("Menu.Pleaseselectapicture.text")+"!");
return;
}
if (this.documentWorkspace.GraphicsList.IsExsitView())
{
for (int i = 0; i < this.documentWorkspace.phaseModels.Count; i++)
{
PhaseModel pModel = this.documentWorkspace.phaseModels[i];
//if (pModel.choise)
//{
Color pColor = new Color();
pColor = Color.FromArgb(pModel.color);
Mat front = pModel.mat;
int phaseAmount = AnalysisTools.GetPointsFromMat(front);
Bitmap frontTarget = this.documentWorkspace.GetFullSizeWithRegion(front.ToBitmap());
//获取相的点合计
int frontAmount = AnalysisTools.GetPointsFromMat(PaintDotNet.Camera.Tools.ToMat(frontTarget));
Mat background = this.imageMat.Clone();
Mat roi = new Mat(background, new Rect(0, 0, background.Width, background.Height));
Mat mask = Mat.FromImageData(front.ToBytes(), ImreadModes.Grayscale);
front.CopyTo(roi, mask);
Bitmap target = this.documentWorkspace.GetFullSizeWithRegion(background.ToBitmap());
Mat targetMat = PaintDotNet.Camera.Tools.ToMat(target);
//获取合并后视场内的点合计
int allAmount = AnalysisTools.GetPointsFromMat(targetMat);
int picAmount = AnalysisTools.GetPointsFromMat(background);
double cRate = 0f;
//计算比例
//视场内部存在相
if (frontAmount > 0)
{
cRate = (double)frontAmount / allAmount;
}
else
{
//视场内部不存在相
cRate = (double)phaseAmount / allAmount;
}
//计算面积
double cArea = phaseAmount;
//计算相含量
double fRate = (double)phaseAmount / picAmount;
PolyphaseAnalysisResult pResult = new PolyphaseAnalysisResult();
pResult.GraphName = this.listView1.FocusedItem.Text;
pResult.PolyphaseName = mPhaseModels[i].Model.name;
pResult.PolyphaseArea = cArea * pxPerUnit * pxPerUnit;
pResult.PolyphaseRate = cRate * 100;
pResult.PolyphaseAllRate = fRate * 100;
mainPolyphaseAnalysisResults.Add(pResult);
viewPolyphaseAnalysisResults.Add(pResult);
}
}
else
{
for (int i = 0; i < this.documentWorkspace.phaseModels.Count; i++)
{
PhaseModel pModel = this.documentWorkspace.phaseModels[i];
Color pColor = new Color();
pColor = Color.FromArgb(pModel.color);
int phaseArea = AnalysisTools.GetPointsFromMat(pModel.mat);
Mat sourceMat = this.imageMat.Clone();
int picAmount = AnalysisTools.GetPointsFromMat(sourceMat);
//计算面积
double cRate = (double)phaseArea / picAmount;
PolyphaseAnalysisResult pResult = new PolyphaseAnalysisResult();
pResult.GraphName = this.listView1.FocusedItem.Text;
pResult.PolyphaseName = mPhaseModels[i].Model.name;
pResult.PolyphaseArea = phaseArea * pxPerUnit * pxPerUnit;
pResult.PolyphaseRate = cRate * 100;
pResult.PolyphaseAllRate = cRate * 100;
mainPolyphaseAnalysisResults.Add(pResult);
viewPolyphaseAnalysisResults.Add(pResult);
}
}
List selectItems = mainPolyphaseAnalysisResults.FindAll(u => u.GraphName == listView1.FocusedItem.Text);
for (int i = 0; i < selectItems.Count; i++)
{
PolyphaseAnalysisResult pResult = selectItems[i];
dataGridView_results.Rows.Add(pResult.GraphName, pResult.PolyphaseName, AnalysisTools.GetDecNum(pResult.PolyphaseArea, decnum), AnalysisTools.GetDecNum(pResult.PolyphaseRate, decnum), AnalysisTools.GetDecNum(pResult.PolyphaseAllRate, decnum));
}
for (int i = 0; i < this.documentWorkspace.phaseModels.Count; i++) {
double pantographRatio = (double)this.appWorkspace.DocumentWorkspaces[this.listView1.FocusedItem.Index].GetRulerMultiple(MeasurementUnit.Micron);//标尺*放大倍数
Bitmap originalBit = this.appWorkspace.DocumentWorkspaces[this.listView1.FocusedItem.Index].CompositionSurface.CreateAliasedBitmap();
originalBit.Tag = pantographRatio;
if (i == 0) {
tempBit.Add(originalBit);
}
Bitmap newBit = originalBit.Clone(new Rectangle(0, 0, originalBit.Width, originalBit.Height), originalBit.PixelFormat);
Graphics graphics = Graphics.FromImage(newBit);
Bitmap processedBit = BitmapConverter.ToBitmap(this.documentWorkspace.phaseModels[i].mat);
graphics.DrawImage(processedBit, new PointF(0, 0));
newBit.Tag = pantographRatio;
tempBit.Add(newBit);
}
if (bitDic.ContainsKey(tag))
{
bitDic[tag].Clear();
bitDic[tag] = tempBit;
}
else
{
bitDic.Add(tag, tempBit);
}
}
private void But_DeleteKD_Click(object sender, EventArgs e)
{
if (checkBox10.Checked)
{
KDDelete(Color.White);
}
}
private void But_DeleteSX_Click(object sender, EventArgs e)
{
if (checkBox11.Checked)
{
SXDelete();
}
}
private void numericUpDown_RangeStart_ValueChanged(object sender, EventArgs e)
{
this.selectIndex = this.cRControl.SelectIndex;
if (selectIndex == -1) {
return;
}
if (selectIndex != 0) {
this.rangeColors[selectIndex - 1].End = (int)numericUpDown_RangeStart.Value - 1;
this.mPhaseModels[selectIndex - 1].ColorEnd = (int)numericUpDown_RangeStart.Value - 1;
}
this.rangeColors[selectIndex].Start = (int)numericUpDown_RangeStart.Value;
this.mPhaseModels[selectIndex].ColorStart = (int)numericUpDown_RangeStart.Value;
this.cRControl.RangeColors = this.rangeColors;
this.cRControl.Refresh();
PhaseModel model = this.applyButtonImpl(Color.FromArgb(mPhaseModels[selectIndex].Model.color), (int)numericUpDown_RangeStart.Value, (int)numericUpDown_RangeEnd.Value);
this.documentWorkspace.phaseModels[selectIndex] = model;
this.documentWorkspace.Refresh();
}
private void numericUpDown_RangeEnd_ValueChanged(object sender, EventArgs e)
{
this.selectIndex = this.cRControl.SelectIndex;
if (selectIndex == -1)
{
return;
}
PhaseModel model = this.applyButtonImpl(Color.FromArgb(mPhaseModels[selectIndex].Model.color), (int)numericUpDown_RangeStart.Value, (int)numericUpDown_RangeEnd.Value);
if ((selectIndex-1)>=0)
{
this.rangeColors[selectIndex - 1].End = (int)this.rangeColors[selectIndex].Start - 1;
this.mPhaseModels[selectIndex-1].ColorEnd = (int)this.rangeColors[selectIndex].Start - 1;
}
this.rangeColors[selectIndex].Start = (int)numericUpDown_RangeStart.Value;
this.rangeColors[selectIndex].End = (int)numericUpDown_RangeEnd.Value;
this.mPhaseModels[selectIndex].ColorStart = (int)numericUpDown_RangeStart.Value;
this.mPhaseModels[selectIndex].ColorEnd = (int)numericUpDown_RangeEnd.Value;
if (this.rangeColors.Count > (selectIndex + 1))
{
this.rangeColors[selectIndex + 1].Start = (int)this.rangeColors[selectIndex].End + 1;
this.mPhaseModels[selectIndex + 1].ColorStart = (int)this.rangeColors[selectIndex].End + 1;
}
this.cRControl.RangeColors = this.rangeColors;
this.cRControl.Refresh();
this.documentWorkspace.phaseModels[selectIndex] = model;
this.documentWorkspace.Refresh();
}
private void button_all_Click(object sender, EventArgs e)
{
dataGridView_results.Rows.Clear();
if (this.is_all % 2 == 0)
{
for (int i = 0; i < listBox_analysisResult.Items.Count; i++)
{
listBox_analysisResult.SetItemChecked(i, false);
}
}
else
{
for (int i = 0; i < listBox_analysisResult.Items.Count; i++)
{
listBox_analysisResult.SetItemChecked(i, true);
}
viewPolyphaseAnalysisResults.Clear();
viewPolyphaseAnalysisResults.AddRange(mainPolyphaseAnalysisResults);
for (int i = 0; i < viewPolyphaseAnalysisResults.Count; i++)
{
PolyphaseAnalysisResult pResult = viewPolyphaseAnalysisResults[i];
dataGridView_results.Rows.Add(pResult.GraphName, pResult.PolyphaseName, AnalysisTools.GetDecNum(pResult.PolyphaseArea, decnum), AnalysisTools.GetDecNum(pResult.PolyphaseRate, decnum), AnalysisTools.GetDecNum(pResult.PolyphaseAllRate, decnum));
}
}
this.is_all += 1;
}
private void button_remove_Click(object sender, EventArgs e)
{
var removeList = new List();
if (listBox_analysisResult.CheckedItems != null && listBox_analysisResult.CheckedItems.Count > 0)
{
DialogResult dr = MessageBox.Show(PdnResources.GetString("Menu.ertodeletetheselectedanalysisres.Text")+"?", PdnResources.GetString("Menu.Edit.Delete.Text"), MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (dr == DialogResult.OK)
{
dataGridView_results.Rows.Clear();
foreach (var s in listBox_analysisResult.CheckedItems)
{
mainPolyphaseAnalysisResults.RemoveAll(u => u.GraphName == s.ToString());
viewPolyphaseAnalysisResults.RemoveAll(u => u.GraphName == s.ToString());
removeList.Add(s.ToString());
}
for (int i = 0; i < viewPolyphaseAnalysisResults.Count; i++)
{
PolyphaseAnalysisResult pResult = viewPolyphaseAnalysisResults[i];
dataGridView_results.Rows.Add(pResult.GraphName, pResult.PolyphaseName, AnalysisTools.GetDecNum(pResult.PolyphaseArea, decnum), AnalysisTools.GetDecNum(pResult.PolyphaseRate, decnum), AnalysisTools.GetDecNum(pResult.PolyphaseAllRate, decnum));
}
foreach (var m in removeList)
{
listBox_analysisResult.Items.Remove(m);
}
}
}
else
{
MessageBox.Show(PdnResources.GetString("Menu.Pleaseselecttheimagetodelete.Text")+"!");
}
}
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
decnum = (int)numericUpDown1.Value;
dataGridView_results.Rows.Clear();
for (int i = 0; i < viewPolyphaseAnalysisResults.Count; i++)
{
PolyphaseAnalysisResult pResult = viewPolyphaseAnalysisResults[i];
dataGridView_results.Rows.Add(pResult.GraphName, pResult.PolyphaseName, AnalysisTools.GetDecNum(pResult.PolyphaseArea,decnum), AnalysisTools.GetDecNum(pResult.PolyphaseRate, decnum), AnalysisTools.GetDecNum(pResult.PolyphaseAllRate, decnum));
}
}
private void KDDelete(Color color)
{
//double pxPerUnit = Startup.instance.rules[MeasurementUnit.Micron];
if (this.listView1.FocusedItem == null) {
return;
}
double pxPerUnit = this.appWorkspace.DocumentWorkspaces[this.listView1.FocusedItem.Index].GetRuler(MeasurementUnit.Micron);
List phases = this.phaseModels.FindAll(a => a.choise == true);
foreach (Args args in action914.Lists)
{
if (args.Key == "Scope")
{
((List)args.Value)[0] = (double)numericUpDown_KDStart.Value;
((List)args.Value)[1] = (double)numericUpDown_KDEnd.Value;
}
if (args.Key == "HoleColor")
{
args.Value = color.ToArgb();
}
}
List phasesCopy = this.viewModels.FindAll(a => a.choise == true);
for (int i = 0; i < phases.Count; i++)
{
PhaseModel model = new PhaseModel();
model.choise = phases[i].choise;
model.color = phases[i].color;
model.name = phases[i].name;
model.position = phases[i].position;
model.mat = new OpenCvSharp.Mat();
phases[i].mat.CopyTo(model.mat);
phasesCopy[i].mat = action914.PerformProcess(model, pxPerUnit);
}
this.documentWorkspace.Refresh();
}
private void SXDelete()
{
//double pxPerUnit = Startup.instance.rules[MeasurementUnit.Micron];
if (this.listView1.FocusedItem == null)
{
return;
}
double pxPerUnit = this.appWorkspace.DocumentWorkspaces[this.listView1.FocusedItem.Index].GetRuler(MeasurementUnit.Micron);
foreach (Args args in action911.Lists)
{
if (args.Key == "FilterParameters")
{
args.Value = FilterParameters.Area;
}
if (args.Key == "Scope")
{
((List)args.Value)[0] = (double)numericUpDown_SXStart.Value;
((List)args.Value)[1] = (double)numericUpDown_SXEnd.Value;
}
if (args.Key == "UnitParameters")
{
args.Value = MeasurementUnit.Micron;
}
if (args.Key == "BoundaryPreservation")
{
args.Value = true;
}
}
//this.orginPhaseModels.Clear();
if (orginPhaseModels.Count == 0)
{
foreach (var s in mPhaseModels)
{
var phaseCopy = new PhaseModel();
phaseCopy.mat = s.Model.mat.Clone();
phaseCopy.color = s.Model.color;
phaseCopy.choise = s.Model.choise;
phaseCopy.name = s.Model.name;
orginPhaseModels.Add(phaseCopy);
}
}
else {
if (orginPhaseModels.Count < mPhaseModels.Count)
{
for (int i = 0; i < mPhaseModels.Count; i++) {
if (i >= orginPhaseModels.Count)
{
var phaseCopy = new PhaseModel();
phaseCopy.mat = mPhaseModels[i].Model.mat.Clone();
phaseCopy.color = mPhaseModels[i].Model.color;
phaseCopy.choise = mPhaseModels[i].Model.choise;
phaseCopy.name = mPhaseModels[i].Model.name;
orginPhaseModels.Add(phaseCopy);
}
else {
PhaseModel model = this.applyButtonImpl(Color.FromArgb(mPhaseModels[i].Model.color), mPhaseModels[i].ColorStart, mPhaseModels[i].ColorEnd);
orginPhaseModels[i].mat = model.mat;
orginPhaseModels[i].color = mPhaseModels[i].Model.color;
}
}
}
else if (orginPhaseModels.Count == mPhaseModels.Count)
{
for (int i = 0; i < mPhaseModels.Count; i++)
{
PhaseModel model = this.applyButtonImpl(Color.FromArgb(mPhaseModels[i].Model.color), mPhaseModels[i].ColorStart, mPhaseModels[i].ColorEnd);
orginPhaseModels[i].mat = model.mat;
orginPhaseModels[i].color = mPhaseModels[i].Model.color;
}
}
else {
for (int i = 0; i < mPhaseModels.Count; i++)
{
PhaseModel model = this.applyButtonImpl(Color.FromArgb(mPhaseModels[i].Model.color), mPhaseModels[i].ColorStart, mPhaseModels[i].ColorEnd);
orginPhaseModels[i].mat = model.mat;
orginPhaseModels[i].color = mPhaseModels[i].Model.color;
}
}
}
//foreach (var s in mPhaseModels)
//{
// var phaseCopy = new PhaseModel();
// phaseCopy.mat = s.Model.mat.Clone();
// phaseCopy.color = s.Model.color;
// phaseCopy.choise = s.Model.choise;
// phaseCopy.name = s.Model.name;
// orginPhaseModels.Add(phaseCopy);
//}
for (int i = 0; i < documentWorkspace.phaseModels.Count; i++)
{
this.documentWorkspace.phaseModels[i].mat = action911.PerformProcess(orginPhaseModels[i], pxPerUnit);
};
this.documentWorkspace.Refresh();
}
private void listBox_analysisResult_SelectedIndexChanged(object sender, EventArgs e)
{
dataGridView_results.Rows.Clear();
if (listBox_analysisResult.CheckedItems != null && listBox_analysisResult.CheckedItems.Count > 0)
{
foreach (var s in listBox_analysisResult.CheckedItems)
{
List selectItems = mainPolyphaseAnalysisResults.FindAll(u => u.GraphName == s.ToString());
viewPolyphaseAnalysisResults.Clear();
viewPolyphaseAnalysisResults.AddRange(selectItems);
for (int i = 0; i < viewPolyphaseAnalysisResults.Count; i++)
{
PolyphaseAnalysisResult pResult = viewPolyphaseAnalysisResults[i];
dataGridView_results.Rows.Add(pResult.GraphName, pResult.PolyphaseName, AnalysisTools.GetDecNum(pResult.PolyphaseArea, decnum), AnalysisTools.GetDecNum(pResult.PolyphaseRate, decnum), AnalysisTools.GetDecNum(pResult.PolyphaseAllRate, decnum));
}
}
}
}
private void btn_close_Click(object sender, EventArgs e)
{
this.Close();
}
private void button4_Click(object sender, EventArgs e)
{
if (this.dataGridView_results.Rows.Count > 0)
{
SaveFileDialog exe = new SaveFileDialog();
exe.Filter = "Execl files (*.xlsx)|*.xlsx";
exe.FilterIndex = 0;
exe.RestoreDirectory = true;
exe.Title = "Export Excel File";
exe.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
exe.FileName = PdnResources.GetString("Menu.GeneralAnalysis.MultiphaseContent.Text")+ PdnResources.GetString("Menu.Analysisresult.text") + DateTime.Now.ToString("yyyyMMddhhmmss");
DialogResult dr = exe.ShowDialog();
if (dr == DialogResult.OK)
{
DataTable dtb = new DataTable();
foreach (DataGridViewColumn c in this.dataGridView_results.Columns)
{
dtb.Columns.Add(c.HeaderText);
}
for (int r = 0; r < this.dataGridView_results.Rows.Count; r++)
{
DataRow dataRow = dtb.NewRow();
for (int c = 0; c < this.dataGridView_results.Rows[r].Cells.Count; c++)
{
dataRow[this.dataGridView_results.Columns[c].HeaderText] = this.dataGridView_results.Rows[r].Cells[c].Value;
}
dtb.Rows.Add(dataRow);
}
List list = new List();
list.Add(dtb);
this.appWorkspace.ExportDataToExcelWithProgress(list, exe.FileName, true, false, true);
}
}
else
{
MessageBox.Show(PdnResources.GetString("Menu.Noanalysisresults.text")+"!");
}
}
private void button5_Click(object sender, EventArgs e)
{
foreach (Control ctrl in this.groupBox2.Controls) //遍历窗体中的所有控件,Control是所有控件的基类
{
if (ctrl.GetType().Name == "CheckBox") //判断是否为CheckBox
{
if (ctrl.Name.Contains("cb"))
{
CheckBox cBox = (CheckBox)ctrl; //创建CheckBox对象
cBox.Checked = true;
}
}
}
foreach (PhaseModel ph in this.documentWorkspace.phaseModels)
{
ph.choise = true;
}
this.documentWorkspace.phaseModels = phaseModels;
this.documentWorkspace.Refresh();
}
private void button6_Click(object sender, EventArgs e)
{
foreach (Control ctrl in this.groupBox2.Controls) //遍历窗体中的所有控件,Control是所有控件的基类
{
if (ctrl.GetType().Name == "CheckBox") //判断是否为CheckBox
{
if (ctrl.Name.Contains("cb"))
{
CheckBox cBox = (CheckBox)ctrl; //创建CheckBox对象
cBox.Checked = false;
}
}
}
foreach (PhaseModel ph in this.documentWorkspace.phaseModels)
{
ph.choise = false;
}
this.documentWorkspace.phaseModels = phaseModels;
this.documentWorkspace.Refresh();
}
private void checkBox11_CheckedChanged(object sender, EventArgs e)
{
if (checkBox11.Checked)
{
//SXDelete();
}else
{
numericUpDown_SXStart.Value = 0;
numericUpDown_SXEnd.Value = 0;
List phases = this.phaseModels.FindAll(a => a.choise == true);
List phasesCopy = this.viewModels.FindAll(a => a.choise == true);
for (int i = 0; i < phases.Count; i++)
{
PhaseModel model = new PhaseModel();
model.choise = phases[i].choise;
model.color = phases[i].color;
model.name = phases[i].name;
model.position = phases[i].position;
model.mat = new OpenCvSharp.Mat();
phases[i].mat.CopyTo(model.mat);
phasesCopy[i].mat = model.mat;
}
this.documentWorkspace.phaseModels = this.viewModels;
TrackBar_ValueChanged(null, null);
this.documentWorkspace.Refresh();
}
}
private void checkBox10_CheckedChanged(object sender, EventArgs e)
{
if (checkBox10.Checked)
{
KDDelete(Color.White);
}
else
{
numericUpDown_KDStart.Value = 0;
numericUpDown_KDEnd.Value = 0;
List phases = this.phaseModels.FindAll(a => a.choise == true);
List phasesCopy = this.viewModels.FindAll(a => a.choise == true);
for (int i = 0; i < phases.Count; i++)
{
PhaseModel model = new PhaseModel();
model.choise = phases[i].choise;
model.color = phases[i].color;
model.name = phases[i].name;
model.position = phases[i].position;
model.mat = new OpenCvSharp.Mat();
phases[i].mat.CopyTo(model.mat);
phasesCopy[i].mat = model.mat;
}
this.documentWorkspace.phaseModels = this.viewModels;
TrackBar_ValueChanged(null, null);
this.documentWorkspace.Refresh();
}
}
private void Draw(Graphics graphics)
{
if (this.documentWorkspace.phaseModels.Count > 0)
{
foreach (PhaseModel model in phaseModels)
{
if (model.choise && model.mat != null)
{
Bitmap map = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(model.mat);
graphics.DrawImage(map, 0, 0, map.Width, map.Height);
}
}
}
}
private void button1_Click(object sender, EventArgs e)
{
AnalyzeSettingDialog recombinationRateSetDialog = new AnalyzeSettingDialog(this, "Template.Manager.item2.PolyphaseMutiAreaContent");
if (recombinationRateSetDialog.hasModule)
{
recombinationRateSetDialog.StartPosition = FormStartPosition.CenterScreen;
recombinationRateSetDialog.ShowDialog();
}
else
{
recombinationRateSetDialog = null;
}
}
private void button3_Click(object sender, EventArgs e)
{
bitList.Clear();
if (checkBox1.Checked)
{
AnalyzeSettingDialog recombinationRateSetDialog = new AnalyzeSettingDialog(this, "Template.Manager.item2.PolyphaseMutiAreaContent");
if (recombinationRateSetDialog.hasModule)
{
recombinationRateSetDialog.StartPosition = FormStartPosition.CenterScreen;
recombinationRateSetDialog.ShowDialog();
}
else
{
recombinationRateSetDialog = null;
}
}
if (this.analyzeSettingModel != null && !string.IsNullOrEmpty(this.analyzeSettingModel.analyzeClassify))
{
//获取word书签与excel单元格的关系,以字典方式存储
List mic_module_infos = mic_module_infos_BLL.FindAll().FindAll(a => a.analyze_classify == this.analyzeSettingModel.analyzeClassify);
Dictionary tagInfos = new Dictionary();
if (mic_module_infos != null && mic_module_infos.Count > 0)
{
foreach (mic_module_infos info in mic_module_infos)
{
tagInfos.Add(info.tag_name, info.cell_position);
}
}
List> analysisContent = new List>();
List nameList = new List();
for (int i = 0; i < this.dataGridView_results.Rows.Count; i++)
{
List content1 = new List();
if (i == 0)
{
content1.Add(this.dataGridView_results.Columns[0].HeaderText);
content1.Add(this.dataGridView_results.Columns[1].HeaderText);
content1.Add(this.dataGridView_results.Columns[2].HeaderText);
content1.Add(this.dataGridView_results.Columns[3].HeaderText);
content1.Add(this.dataGridView_results.Columns[4].HeaderText);
analysisContent.Add(content1);
}
content1 = new List();
content1.Add(this.dataGridView_results.Rows[i].Cells[0].Value.ToString());
content1.Add(this.dataGridView_results.Rows[i].Cells[1].Value.ToString());
content1.Add(this.dataGridView_results.Rows[i].Cells[2].Value.ToString());
content1.Add(this.dataGridView_results.Rows[i].Cells[3].Value.ToString());
content1.Add(this.dataGridView_results.Rows[i].Cells[4].Value.ToString());
analysisContent.Add(content1);
string tag = this.dataGridView_results.Rows[i].Cells[0].Value.ToString();
if (nameList.IndexOf(tag) == -1)
{
nameList.Add(tag);
}
}
foreach (var s in nameList)
{
if (bitDic.ContainsKey(s))
{
foreach (var m in bitDic[s])
{
bitList.Add(bitDic[s][bitDic[s].IndexOf(m)]);
}
}
}
this.appWorkspace.CreateAnalysisReport(this.analyzeSettingModel, analysisContent, bitList, tagInfos);
}
else
MessageBox.Show(PdnResources.GetString("Menu.Pleasesettheanalysisreportfirst.text")+"!");
}
private void numericUpDown_RangeStart_KeyUp(object sender, KeyEventArgs e)
{
numericUpDown_RangeStart.Value = numericUpDown_RangeStart.Value;
}
private void numericUpDown_RangeEnd_KeyUp(object sender, KeyEventArgs e)
{
numericUpDown_RangeEnd.Value = numericUpDown_RangeEnd.Value;
}
private void button9_Click(object sender, EventArgs e)
{
if (this.dataGridView_results.Rows.Count == 0)
{
MessageBox.Show(PdnResources.GetString("Menu.Noresults.text"));
return;
}
if (this.analyzeSettingModel == null)
{
MessageBox.Show(PdnResources.GetString("Menu.Pleasesetiirst.Text"));
return;
}
//获取项目工程内的文件夹路径
ProjectEngineering.NodeItem item = this.appWorkspace.GetInsertProjectPath(2, "Menu.GeneralAnalysis.MultiphaseContent.Text", this.analyzeSettingModel.savePath);
if (item != null)
{
//向文件夹内保存图片和报告
if (!string.IsNullOrEmpty(this.analyzeSettingModel.analyzeClassify))
{
//获取word书签与excel单元格的关系,以字典方式存储
List mic_module_infos = mic_module_infos_BLL.FindAll().FindAll(a => a.analyze_classify == this.analyzeSettingModel.analyzeClassify);
Dictionary tagInfos = new Dictionary();
if (mic_module_infos != null && mic_module_infos.Count > 0)
{
foreach (mic_module_infos info in mic_module_infos)
{
tagInfos.Add(info.tag_name, info.cell_position);
}
}
List> analysisContent = new List>();
List> inclusionList = new List>();
List exportModel = new List();
List bitImgList = new List();
List titleContent = new List();
List nameList = new List();
for (int i = 0; i < this.dataGridView_results.Rows.Count; i++)
{
List content1 = new List();
if (i == 0)
{
content1.Add(this.dataGridView_results.Columns[0].HeaderText);
content1.Add(this.dataGridView_results.Columns[1].HeaderText);
content1.Add(this.dataGridView_results.Columns[2].HeaderText);
content1.Add(this.dataGridView_results.Columns[3].HeaderText);
analysisContent.Add(content1);
titleContent.AddRange(content1);
}
content1 = new List();
content1.Add(this.dataGridView_results.Rows[i].Cells[0].Value.ToString());
content1.Add(this.dataGridView_results.Rows[i].Cells[1].Value.ToString());
content1.Add(this.dataGridView_results.Rows[i].Cells[2].Value.ToString());
content1.Add(this.dataGridView_results.Rows[i].Cells[3].Value.ToString());
analysisContent.Add(content1);
string tag = this.dataGridView_results.Rows[i].Cells[0].Value.ToString();
if (nameList.IndexOf(tag) == -1)
{
nameList.Add(tag);
}
var export = exportModel.Where(m => m.picName == tag).FirstOrDefault();
if (export == null) {
ExportProjectModel exportProjectModel = new ExportProjectModel();
exportProjectModel.dataList = new List>();
exportProjectModel.dataList.Add(titleContent);
exportProjectModel.dataList.Add(content1);
exportProjectModel.picName = tag;
exportProjectModel.tagName = PdnResources.GetString("Menu.GeneralAnalysis.MultiphaseContent.Text");
exportModel.Add(exportProjectModel);
}
else {
exportModel[exportModel.IndexOf(export)].dataList.Add(content1);
}
}
foreach (var s in nameList) {
if (bitDic.ContainsKey(s))
{
foreach (var m in bitDic[s])
{
bitImgList.Add(bitDic[s][bitDic[s].IndexOf(m)]);
}
}
}
try
{
this.appWorkspace.CreateAnalysisReport(this.analyzeSettingModel, analysisContent, exportModel, bitImgList, tagInfos, item.path, item.code);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
else
{
MessageBox.Show(PdnResources.GetString("Menu.Pleasesettheanalysisreportfirst.text")+"!");
return;
}
//保存项目信息到数据库
this.appWorkspace.InsertIntoDB(this.analyzeSettingModel, item);
}
}
///
/// 应用全部
///
///
///
private void button8_Click()
{
if (this.listView1.FocusedItem == null)
{
return;
}
#region [设置参数]
PolyphaseMutiAreaContentModel model = new PolyphaseMutiAreaContentModel();
model.hasUsed = true;
model.parameter1 = xiang_num;
model.parameter12 = checkBox1.Checked;
model.parameter13 = commonControlButtons.trackBar.Value;
model.parameter2 = cb_SelectPhase.SelectedItem == null ? "" : cb_SelectPhase.SelectedItem.ToString();
if (model.parameter3 == null)
{
model.parameter3 = new List();
}
var list = new List();
foreach (var s in mPhaseModels)
{
PolyphaseData data = new PolyphaseData();
data.color = s.Model.color;
data.downNum = s.ColorStart;
data.upNum = s.ColorEnd;
list.Add(data);
}
model.parameter3 = list;
#region [保存物相选择]
string all = String.Empty;
if (cb1.Checked)
{
all += "1,";
}
if (cb2.Checked)
{
all += "2,";
}
if (cb3.Checked)
{
all += "3,";
}
if (cb4.Checked)
{
all += "4,";
}
if (cb5.Checked)
{
all += "5,";
}
if (cb6.Checked)
{
all += "6,";
}
if (cb7.Checked)
{
all += "7,";
}
if (cb8.Checked)
{
all += "8,";
}
model.parameter4 = all;
#endregion
model.parameter5 = checkBox10.Checked;
model.parameter6 = checkBox11.Checked;
model.parameter7 = (int)numericUpDown_KDStart.Value;
model.parameter8 = (int)numericUpDown_KDEnd.Value;
model.parameter9 = (int)numericUpDown_SXStart.Value;
model.parameter10 = (int)numericUpDown_SXEnd.Value;
model.parameter11 = (int)numericUpDown1.Value;
for (int i = 0; i < listView1.Items.Count; i++)
{
if (everyImgData.ContainsKey(listView1.Items[i].Name))
{
everyImgData[listView1.Items[i].Name] = model;
}
else
{
everyImgData.Add(listView1.Items[i].Name, model);
}
}
#endregion
this.listView1.EnsureVisible(listView1.Items.Count - 1);
this.listView1.Items[listView1.Items.Count - 1].Focused = true;
this.listView1.Items[listView1.Items.Count - 1].Selected = true;
this.userAll = true;
}
///
/// 保存到全部
///
///
///
private void button7_Click()
{
if (!this.userAll) {
MessageBox.Show("请先点击应用全部!");
return;
}
for (int i = 0; i < listView1.Items.Count; i++)
{
this.listView1.EnsureVisible(i);
this.listView1.Items[i].Focused = true;
this.listView1.Items[i].Selected = true;
this.But_DeleteKD.PerformClick();
this.But_DeleteSX.PerformClick();
button2_Click(null, null);
}
}
private void getValue(string key, Object value)
{
switch (key)
{
case "parameter1":
switch (Convert.ToInt32(value) + 1)
{
case 0:
rb1.Checked = true;
break;
case 1:
rb1.Checked = true;
break;
case 2:
rb1.Checked = true;
rb2.Checked = true;
break;
case 3:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
break;
case 4:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
rb4.Checked = true;
break;
case 5:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
rb4.Checked = true;
rb5.Checked = true;
break;
case 6:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
rb4.Checked = true;
rb5.Checked = true;
rb6.Checked = true;
break;
case 7:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
rb4.Checked = true;
rb5.Checked = true;
rb6.Checked = true;
rb7.Checked = true;
break;
case 8:
rb1.Checked = true;
rb2.Checked = true;
rb3.Checked = true;
rb4.Checked = true;
rb5.Checked = true;
rb6.Checked = true;
rb7.Checked = true;
rb8.Checked = true;
break;
}
break;
case "parameter2":
checkBox10.Checked = Convert.ToBoolean(value);
break;
case "parameter3":
numericUpDown_KDStart.Value = Convert.ToDecimal(value);
break;
case "parameter4":
numericUpDown_KDEnd.Value = Convert.ToDecimal(value);
break;
case "parameter5":
checkBox11.Checked = Convert.ToBoolean(value);
break;
case "parameter6":
numericUpDown_SXStart.Value = Convert.ToDecimal(value);
break;
case "parameter7":
numericUpDown_SXEnd.Value = Convert.ToDecimal(value);
break;
case "OpenWhileExportReport":
checkBox1.Checked = Convert.ToBoolean(value);
break;
case "CalculatorDecimalDigits":
numericUpDown1.Value = Convert.ToDecimal(value);
break;
case "ExportResults":
isExportResults = Convert.ToBoolean(value);
break;
case "ExportReports":
isExportReports = Convert.ToBoolean(value);
break;
case "ExportProjects":
isExportProjects = Convert.ToBoolean(value);
break;
}
}
#region [脚本录制]
private void getScriptRecording()
{
string className = InvariantData.path_Action + ".Action" + menuId;
ParamObject param = (ParamObject)System.Reflection.Assembly.Load(InvariantData.assembly_Data).CreateInstance(className);
List args = param.Lists;
foreach (var item in args)
{
item.value = setScriptRecording(item.key);
}
appWorkspace.SetScriptStartRecording(this.menuId, menuName, args);
}
private object setScriptRecording(string key)
{
object value = null;
switch (key)
{
case "parameter1":
if (rb1.Checked) {
value = 0;
}
if (rb2.Checked)
{
value = 1;
}
if (rb3.Checked)
{
value = 2;
}
if (rb4.Checked)
{
value = 3;
}
if (rb5.Checked)
{
value = 4;
}
if (rb6.Checked)
{
value = 5;
}
if (rb7.Checked)
{
value = 6;
}
if (rb8.Checked)
{
value = 7;
}
break;
case "parameter2":
value = checkBox10.Checked;
break;
case "parameter3":
value = numericUpDown_KDStart.Value;
break;
case "parameter4":
value = numericUpDown_KDEnd.Value;
break;
case "parameter5":
value = checkBox11.Checked;
break;
case "parameter6":
value = numericUpDown_SXStart.Value;
break;
case "parameter7":
value = numericUpDown_SXEnd.Value;
break;
case "OpenWhileExportReport":
value = checkBox1.Checked;
break;
case "CalculatorDecimalDigits":
value = numericUpDown1.Value;
break;
case "ExportResults":
value = isExportResults;
break;
case "ExportReports":
value = isExportReports;
break;
case "ExportProjects":
value = isExportProjects;
break;
}
return value;
}
#endregion
}
}