浏览代码

打开类型中添加矿物种类

cxs 6 月之前
父节点
当前提交
d06120ac9d

+ 13 - 7
OTSCommon/DBOperate/Model/Particle.cs

@@ -33,7 +33,7 @@ namespace OTSCommon.DBOperate.Model
             set;
             get;
         }
-     
+
         //PosX
         public int PosX { set; get; }
         //PosY
@@ -112,14 +112,14 @@ namespace OTSCommon.DBOperate.Model
         }
 
         public int SEMPosX
-        { 
-            get; 
-            set; 
+        {
+            get;
+            set;
         }
 
         public int SEMPosY
-        { 
-            get; 
+        {
+            get;
             set;
         }
 
@@ -128,5 +128,11 @@ namespace OTSCommon.DBOperate.Model
 
         public string Density { set; get; }
 
-        public string Electrical_conductivity { set; get; }    }
+        public string Electrical_conductivity { set; get; }
+
+        public string GroupName { set; get; }
+
+        public int GroupId { set; get; }
+        public string GroupColor { set; get; }
+    }
 }

+ 3 - 2
OTSIncAMeasureApp/0-OTSModel/OTSDataType/otsdataconst.cs

@@ -198,8 +198,9 @@ namespace OTSDataType
         {
 		    IncA = 0,
 		    TCCleannessA = 1,
-            BatteryCleannessA=2
-	    }
+            BatteryCleannessA=2,
+            SteelMineral=3
+        }
 
         public enum OTS_CLASSIFY_ENGINE_TYPE
         {

+ 1 - 1
OTSIncAMeasureApp/2-OTSMeasureParamManage/COTSMeasureParam.cs

@@ -1165,7 +1165,7 @@ namespace OTSMeasureApp
                 }
             }
 
-            return false;
+            return false;  
         }
 
         //获取BSE图像数据

+ 8 - 1
OTSIncAMeasureApp/3-OTSDisplaySourceGridData/OTSSampleVisualPropertyInfo.cs

@@ -616,8 +616,15 @@ namespace OTSMeasureApp
 
                 case OTS_SAMPLE_PROP_GRID_ITEMS.IMAGE_RESOLUTION:
                     {
-                      
+                        string ImageResulotion=((OTS_IMAGE_RESULOTION_OPTIONS)(int) objVal).ToString();
                         m_poMsrParams.GetImageScanParam().SetImageResulotion((OTS_IMAGE_RESULOTION_OPTIONS)(int)objVal);
+                        double radio = double.Parse(ImageResulotion.Split('_')[1])/ double.Parse(ImageResulotion.Split('_')[2]);
+                        int width= m_poSEMDataMsr.GetScanFieldSize();
+                        int heigth = (int)(width / radio);
+                        m_poSEMDataMsr.SetScanFieldHeight(heigth);
+                        int width100 = m_poSEMDataMsr.GetScanFieldSize100();
+                        int heigth100 = (int)(width100 / radio);
+                        m_poSEMDataMsr.SetScanFieldHeight100(heigth100);
                     }
                     break;
 

+ 25 - 58
OTSIncAReportApp/1-UI/Control_Graph/Controls/Control_DrawDistrbutionImageAndBSE.cs

@@ -2,7 +2,7 @@
 using OTSCLRINTERFACE;
 using OTSCommon.DBOperate.Model;
 
-using OTSIncAReportApp;
+
 using OTSIncAReportApp._3_ServiceCenter;
 using OTSIncAReportApp.DataOperation.DataAccess;
 using OTSIncAReportApp.OTSRstMgrFunction;
@@ -69,14 +69,12 @@ namespace OTSIncAReportGraph.Controls
         Combin,
         Render_Combin
     }
-
     public partial class Control_DrawDistrbutionImageAndBSE : UserControl
     {
 
         private OTSImageDisHelp imageDisHelper = null;
         //缩放的增大缩小的增量
         private const float const_zoom_increment = 0.05f;
-
         //最大缩放倍数
         private const float m_f_zoom_max = 4f;
 
@@ -96,7 +94,6 @@ namespace OTSIncAReportGraph.Controls
         public int reViewFieldId = 0;
         public int reViewParticleId = 0;
 
-
         //与原先缩放的记录数
         private float m_zoom_record = 1;
 
@@ -110,8 +107,6 @@ namespace OTSIncAReportGraph.Controls
 
         //包含particle的field的列表对象
         public List<DisplayRectangle> m_list_allDfield = null;
-
-
         //这里要做成控件,不要是窗体
         public List<DisplayParticle> m_list_allDPart_original = null;
         public List<DisplayRectangle> m_CurGBFields = new List<DisplayRectangle>();
@@ -129,24 +124,17 @@ namespace OTSIncAReportGraph.Controls
 
         //拖动前的坐标记录
         private PointF m_beforedrag_pointf = new PointF();
-
-
         //提供鼠标在右下角显示的文本,左侧
         private string m_str_mouseshow_left = "";
-
         //提供鼠标在右下角显示的文本,右侧
         private string m_str_mouseshow_right = "";
-
         //当前鼠标的位置
         Point m_mouse_now_point = new Point();
-
         Point m_currentMouseDownPoint;
         //记录当前鼠标位置对应SEM电镜的位置
         Point m_sem_mouse_now_point = new Point();
-
         //鼠标移动经过的颗粒对象,临时存放,用来记录是否要显示xray与隐藏xray
         DisplayParticle m_mouseOver_dparticle = null;
-
         //保存数据源名称
         private string m_showsourcename = "";
 
@@ -155,24 +143,16 @@ namespace OTSIncAReportGraph.Controls
 
         //移动SEM到指定位置发生线程
         private Thread m_mythread;
-
-
         private Color m_ColorNotContent = Color.SkyBlue;
-
-       
-
-
         private DISTRIBUTION_IMAGE_SHOW_MODE showMode;
 
         static System.Windows.Forms.Timer delaytimer = new System.Windows.Forms.Timer();
         Logger log;
-
         public string ShowSourceName
         {
             set { m_showsourcename = value; }
             get { return m_showsourcename; }
         }
-
         /// <summary>
         /// 当前正在显示的数据源的ID
         /// </summary>
@@ -181,20 +161,14 @@ namespace OTSIncAReportGraph.Controls
             set { m_datasourceid = value; }
             get { return m_datasourceid; }
         }
-
-
-
         //进度条窗体
         public Frm_UserProgress m_frm_userprogress;
 
-
         Hashtable resTable;
 
-
         OTSIncAReportApp.frmReportApp m_ReportApp;
         ResultFile sampleResultFile = null;
         //private Cursor cursor1;
-
         #endregion
 
         #region 构造函数及窗体加载
@@ -210,11 +184,10 @@ namespace OTSIncAReportGraph.Controls
 
             m_mythread = new Thread(new ParameterizedThreadStart(Thread_GO));
 
-            m_ReportApp = ReportApp;
-            sampleResultFile = m_ReportApp.m_rstDataMgr.CurResultFile;
-
 
 
+            m_ReportApp = ReportApp;
+            sampleResultFile = m_ReportApp.m_rstDataMgr.CurResultFile;
             InitializeComponent();
             #region 国际化语言
             Language lan = new Language(this);
@@ -254,7 +227,6 @@ namespace OTSIncAReportGraph.Controls
             this.control_Ruler1.Visible = false;
             this.Controls.Add(this.control_XRayTable1);
             this.Controls.Add(this.control_Ruler1);
-
             Language language = new Language(this);
             resTable = language.GetNameTable(this.Name.ToString());
 
@@ -288,12 +260,7 @@ namespace OTSIncAReportGraph.Controls
             ProgressBarUpdate(20, "compose whole picture....");//初始化底层操作类
             imageDisHelper = new OTSImageDisHelp(sampleResultFile);
             m_backRect = imageDisHelper.m_originalBackRect;
-           
-        
-
-
             List<Field> fieldlist = sampleResultFile.List_OTSField;
-
             float ls_int_progresscalc = 0;
             if (fieldlist.Count > 0)
             {
@@ -334,10 +301,6 @@ namespace OTSIncAReportGraph.Controls
                 }
             }
             DrawRuler();
-
-
-
-
             ProgressBarUpdate(100, table["str2"].ToString());
             m_frm_userprogress.Visible = false;
             FullGraphMatch();
@@ -494,14 +457,11 @@ namespace OTSIncAReportGraph.Controls
                         ls_dp.SetDisplayState(DisplayState.NODISPLAY);
 
                     }
-
-
                 }
             }
 
         }
         #endregion
-
         #region 设置双缓冲
         /// <summary>
         /// 设置双缓冲
@@ -511,22 +471,17 @@ namespace OTSIncAReportGraph.Controls
             SetStyle(ControlStyles.UserPaint, true);                    //没什么效果,开与关
             SetStyle(ControlStyles.AllPaintingInWmPaint, true);         // 禁止擦除背景,关了闪
             SetStyle(ControlStyles.OptimizedDoubleBuffer, true);   // 双缓冲,关了闪
-
             //上面是必须有的
             SetStyle(ControlStyles.UserMouse, true);    //执行自己的鼠标行为,这个打开后,在win7下鼠标操作明显改善
-
         }
         #endregion
-
         #region 绘制函数
         protected override void OnPaint(PaintEventArgs e)//处理重绘情况
         {
-
-          
+            
             switch (showMode)
             {
                 case DISTRIBUTION_IMAGE_SHOW_MODE.BSE:
-
                     e.Graphics.FillRectangle(new SolidBrush(Color.Gainsboro), m_backRect);
                     foreach (DisplayRectangle a_field in m_list_allDfield)
                     {
@@ -540,7 +495,6 @@ namespace OTSIncAReportGraph.Controls
                             }
                         }
                     }
-
                     break;
                 case DISTRIBUTION_IMAGE_SHOW_MODE.CLASSIFIED:
 
@@ -582,18 +536,29 @@ namespace OTSIncAReportGraph.Controls
                             }
                         }
                     }
-
                     break;
-                default:
+
+
+                case DISTRIBUTION_IMAGE_SHOW_MODE.ClassifyGroupDisplay:
+                    e.Graphics.FillRectangle(new SolidBrush(Color.Gainsboro), m_backRect);
+                    foreach (DisplayRectangle a_field in m_list_allDfield)
+                    {
+                        foreach (DisplayParticle dp in a_field.List_DParticle)
+                        {
+
+                            dp.ShowMode = SegmentShowMode.DRAWGROUPCOLORIMAGE;
+                            if (dp.GetPaintState() != PaintState.NOPAINT)
+                            {
+                                dp.Paint(e.Graphics);
+                            }
+                        }
+                    }
                     break;
 
 
+                default:
+                    break;
             }
-            //if (m_mouseOver_dparticle != null)
-            //{
-            //    m_mouseOver_dparticle.Paint(e.Graphics);
-            //}
-           
             //display GB field
             if (m_CurGBFields.Count > 0)
             {
@@ -1031,7 +996,7 @@ namespace OTSIncAReportGraph.Controls
             string leftOrRight = resultFile.GetXAxisDir();
             string downOrUp = resultFile.GetYAxisDir();
 
-            float ScanFieldSizeY = resultFile.GetScanFieldSizeY();
+            float ScanFieldSizeY = resultFile.GetScanFieldSizeY();       
             float m_pixelSize = resultFile.GetPixelSize();
             if (leftOrRight == "RIGHT_TOWARD")
             {
@@ -2034,6 +1999,8 @@ namespace OTSIncAReportGraph.Controls
                 return false;
             }
         }
+
+
         public bool WhetherThereAreDeleteParticles()
         {
             foreach (DisplayRectangle a_field in m_list_allDfield)

+ 2 - 2
OTSIncAReportApp/1-UI/OTSDisplaySourceGridData/OTSSampleReportInfo/OTSSampleReportInfo.cs

@@ -43,8 +43,8 @@ namespace OTSIncAReportApp.OTSSampleReportInfo
         BSE = 0,
         CLASSIFIED = 1,
         ORIGINAl=2,
-        ORIGINALCLASSIFIED=3
-
+        ORIGINALCLASSIFIED=3,
+        ClassifyGroupDisplay=4
     }
     public enum DATASOURCE_TYPE
     { 

+ 13 - 3
OTSIncAReportApp/1-UI/OTSDisplaySourceGridData/frmReportConditionChoose.cs

@@ -128,6 +128,7 @@ namespace OTSIncAReportApp
             string classifiedDisplay = resTable["classifieddisplay"].ToString();//分类显示
             string originalSplicing = resTable["originalsplicing"].ToString();//原图拼接
             string originalDistribution = resTable["originaldistribution"].ToString();//原图颗粒分布
+            string classifyGroupDisplay = resTable["classifygroupdisplay"].ToString();
             string particleSizeTable = resTable["particlesizetable"].ToString();//粒级表
             string chineseStandard1 = resTable["chinesestandard1"].ToString();//国标方法一
             string chineseStandard2 = resTable["chinesestandard2"].ToString();//国标方法二
@@ -153,7 +154,7 @@ namespace OTSIncAReportApp
             //测量图类别 分布图 or 排列图
             List<string> list1 = new List<string>() { distributionMap, arrangementDiagram };
             AddGridData(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE, graphicDisplayMode, OTS_ITEM_TYPES.COMBO, false, "image display mode", list1[0], list1, IMAGE_DISPLAY_TYPE.DISTRIBUTION);
-            AddGridData(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE, particleDisplayMode, OTS_ITEM_TYPES.COMBO, false, "distribution image Type", bseOriginal, new List<string>() { bseOriginal, classifiedDisplay, originalSplicing, originalDistribution }, DISTRIBUTION_IMAGE_SHOW_MODE.BSE);
+            AddGridData(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE, particleDisplayMode, OTS_ITEM_TYPES.COMBO, false, "distribution image Type", bseOriginal, new List<string>() { bseOriginal, classifiedDisplay, originalSplicing, originalDistribution}, DISTRIBUTION_IMAGE_SHOW_MODE.BSE);
             var DefaultPartSize = m_rstDataMgr.GetDefaultPartSize();
             //粒级表
             List<string> list_partsizelist = m_rstDataMgr.GetPartSizeFileList();//从系统默认的路径中查找出所有的粒级表文件
@@ -379,6 +380,7 @@ namespace OTSIncAReportApp
             string ClassifiedDisplay = resTable["classifieddisplay"].ToString();//分类显示
             string OriginalSplicing = resTable["originalsplicing"].ToString();//原图拼接
             string OriginalDistribution = resTable["originaldistribution"].ToString();//原图颗粒分布
+            string classifyGroupDisplay = resTable["classifygroupdisplay"].ToString();
 
             List<ConditionItem> list = new List<ConditionItem>();
             ConditionItem sampleData;
@@ -401,10 +403,18 @@ namespace OTSIncAReportApp
 
                 if ((int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE].itemVal == (int)IMAGE_DISPLAY_TYPE.DISTRIBUTION)
                 {
-                    sampleData.comboDownList = new List<string>() { BSEOriginal, ClassifiedDisplay, OriginalSplicing, OriginalDistribution };//bse,颗粒分类图
+                    OTS_SysType_ID oTS_SysType_ID = m_ReportApp.m_rstDataMgr.m_RptConfigFile.Systype;
+                    if (oTS_SysType_ID == OTS_SysType_ID.SteelMineral)
+                    {
+                        sampleData.comboDownList = new List<string>() { BSEOriginal, ClassifiedDisplay, OriginalSplicing, OriginalDistribution, classifyGroupDisplay };
+                    }
+                    else
+                    {
+                        sampleData.comboDownList = new List<string>() { BSEOriginal, ClassifiedDisplay, OriginalSplicing, OriginalDistribution };//bse,颗粒分类图
+                    }
                     list.Add(sampleData);
 
-                    if ((int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.BSE || (int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.CLASSIFIED|| (int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.ORIGINALCLASSIFIED)
+                    if ((int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.BSE || (int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.CLASSIFIED|| (int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.ORIGINALCLASSIFIED || (int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.ClassifyGroupDisplay)
                     {
 
                         //粒级表

+ 8 - 14
OTSIncAReportApp/1-UI/OTSRibbon/OTSRibbonFun.cs

@@ -39,7 +39,6 @@ namespace OTSIncAReportApp.OTSRibbon
             //Ribbon菜单中
             m_ReportApp.rbOpen.Enabled = true;                  //打开,ribbon中
             m_ReportApp.rbAllImage.Enabled = bRibState;         //全图匹配,ribbon中
-            m_ReportApp.rbWidthImage.Enabled = bRibState;       //宽度匹配,ribbon中
             m_ReportApp.rbReverseSelection.Enabled = bRibState; //反选,ribbon中
             m_ReportApp.rbCircular.Enabled = bRibState;         //圆形,ribbon中
             m_ReportApp.rbRectangle.Enabled = bRibState;        //矩形,ribbon中
@@ -107,41 +106,36 @@ namespace OTSIncAReportApp.OTSRibbon
                 m_ReportApp.rbSelTool.Enabled = false;//显示图匹配
                 m_ReportApp.rbChoiceTools.Enabled = false;//选择工具
                 m_ReportApp.ribbonPanel2.Enabled = false;//图形工具
-
                 //(主菜单)下拉菜单中的 新建,打开,保存,另存为,输出
                 m_ReportApp.dpbOpen.Enabled = true;
                 m_ReportApp.dpbExport.Enabled = true;
                 m_ReportApp.Backup.Enabled = true;
 
+
                 //主菜单文件框里(保存、另存为、输出、新建)设置
                 m_ReportApp.rbSave.Enabled = true;
                 m_ReportApp.rbSaveAs.Enabled = true;
                 m_ReportApp.rbOut.Enabled = true;
                 m_ReportApp.ribbonButton2.Enabled = true;
-
                 //设置打开按钮
                 m_ReportApp.dpbOpen.Enabled = true;
                 m_ReportApp.rbOpen.Enabled = true;
-
                 m_ReportApp.rbReMeasure.Enabled = true;
             }
-
-            
             var m_RptConfigFile =RptConfigFile.GetRptConfig();         //报表程序的配置文件
-            if (m_RptConfigFile.Systype == OTS_SysType_ID.TCCleannessA)
-            {
-                m_ReportApp.ribbonOrbMenuItem_Extremum.Enabled = false;
-                m_ReportApp.ribbonOrbMenuItem_InclusionsTraceability.Enabled = false;
-                m_ReportApp.ribbonOrbMenuItem_purity.Enabled = false;
-            }
-            else
+            if (m_RptConfigFile.Systype == OTS_SysType_ID.IncA)
             {
                 m_ReportApp.ribbonOrbMenuItem_InclusionsTraceability.Enabled = true;
                 m_ReportApp.ribbonOrbMenuItem_Extremum.Enabled = true;
                 m_ReportApp.ribbonOrbMenuItem_purity.Enabled = true;
             }
+            else
+            {
+                m_ReportApp.ribbonOrbMenuItem_Extremum.Enabled = false;
+                m_ReportApp.ribbonOrbMenuItem_InclusionsTraceability.Enabled = false;
+                m_ReportApp.ribbonOrbMenuItem_purity.Enabled = false;
+            }
         }
-
         #endregion
 
     }

+ 59 - 78
OTSIncAReportApp/1-UI/frmReportApp.Designer.cs

@@ -31,21 +31,21 @@
             this.components = new System.ComponentModel.Container();
             System.Windows.Forms.RibbonPanel ribbonPanel1;
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmReportApp));
-            OTS.WinFormsUI.Docking.DockPanelSkin dockPanelSkin2 = new OTS.WinFormsUI.Docking.DockPanelSkin();
-            OTS.WinFormsUI.Docking.AutoHideStripSkin autoHideStripSkin2 = new OTS.WinFormsUI.Docking.AutoHideStripSkin();
-            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient4 = new OTS.WinFormsUI.Docking.DockPanelGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient8 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.DockPaneStripSkin dockPaneStripSkin2 = new OTS.WinFormsUI.Docking.DockPaneStripSkin();
-            OTS.WinFormsUI.Docking.DockPaneStripGradient dockPaneStripGradient2 = new OTS.WinFormsUI.Docking.DockPaneStripGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient9 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient5 = new OTS.WinFormsUI.Docking.DockPanelGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient10 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.DockPaneStripToolWindowGradient dockPaneStripToolWindowGradient2 = new OTS.WinFormsUI.Docking.DockPaneStripToolWindowGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient11 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient12 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient6 = new OTS.WinFormsUI.Docking.DockPanelGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient13 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient14 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.DockPanelSkin dockPanelSkin1 = new OTS.WinFormsUI.Docking.DockPanelSkin();
+            OTS.WinFormsUI.Docking.AutoHideStripSkin autoHideStripSkin1 = new OTS.WinFormsUI.Docking.AutoHideStripSkin();
+            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient1 = new OTS.WinFormsUI.Docking.DockPanelGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient1 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.DockPaneStripSkin dockPaneStripSkin1 = new OTS.WinFormsUI.Docking.DockPaneStripSkin();
+            OTS.WinFormsUI.Docking.DockPaneStripGradient dockPaneStripGradient1 = new OTS.WinFormsUI.Docking.DockPaneStripGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient2 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient2 = new OTS.WinFormsUI.Docking.DockPanelGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient3 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.DockPaneStripToolWindowGradient dockPaneStripToolWindowGradient1 = new OTS.WinFormsUI.Docking.DockPaneStripToolWindowGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient4 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient5 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient3 = new OTS.WinFormsUI.Docking.DockPanelGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient6 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient7 = new OTS.WinFormsUI.Docking.TabGradient();
             this.rbSave = new System.Windows.Forms.RibbonButton();
             this.rbSaveAs = new System.Windows.Forms.RibbonButton();
             this.rbOut = new System.Windows.Forms.RibbonButton();
@@ -68,7 +68,6 @@
             this.ribbonPanel3 = new System.Windows.Forms.RibbonPanel();
             this.rbSelTool = new System.Windows.Forms.RibbonPanel();
             this.rbAllImage = new System.Windows.Forms.RibbonButton();
-            this.rbWidthImage = new System.Windows.Forms.RibbonButton();
             this.rbChoiceTools = new System.Windows.Forms.RibbonPanel();
             this.rbReverseSelection = new System.Windows.Forms.RibbonButton();
             this.rbCircular = new System.Windows.Forms.RibbonButton();
@@ -218,7 +217,6 @@
             this.rbClose.ToolTip = "rbClose";
             this.rbClose.ToolTipImage = null;
             this.rbClose.ToolTipTitle = null;
-            this.rbClose.DoubleClick += new System.EventHandler(this.rbClose_DoubleClick);
             this.rbClose.Click += new System.EventHandler(this.rbClose_Click);
             // 
             // ribbon1
@@ -421,7 +419,6 @@
             this.rbSelTool.ButtonMoreEnabled = false;
             this.rbSelTool.ButtonMoreVisible = false;
             this.rbSelTool.Items.Add(this.rbAllImage);
-            this.rbSelTool.Items.Add(this.rbWidthImage);
             this.rbSelTool.Tag = null;
             this.rbSelTool.Text = "显示图匹配";
             // 
@@ -440,21 +437,6 @@
             this.rbAllImage.ToolTipTitle = "rbAllImage";
             this.rbAllImage.Click += new System.EventHandler(this.rbAllImage_Click);
             // 
-            // rbWidthImage
-            // 
-            this.rbWidthImage.AltKey = null;
-            this.rbWidthImage.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
-            this.rbWidthImage.DropDownArrowSize = new System.Drawing.Size(5, 3);
-            this.rbWidthImage.Image = global::OTSIncAReportApp.Properties.Resources.宽度匹配32;
-            this.rbWidthImage.SmallImage = ((System.Drawing.Image)(resources.GetObject("rbWidthImage.SmallImage")));
-            this.rbWidthImage.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
-            this.rbWidthImage.Tag = "rbWidthImage";
-            this.rbWidthImage.Text = "宽度匹配";
-            this.rbWidthImage.ToolTip = "rbWidthImage";
-            this.rbWidthImage.ToolTipImage = null;
-            this.rbWidthImage.ToolTipTitle = null;
-            this.rbWidthImage.Click += new System.EventHandler(this.rbWidthImage_Click);
-            // 
             // rbChoiceTools
             // 
             this.rbChoiceTools.ButtonMoreEnabled = false;
@@ -694,50 +676,50 @@
             this.DockWindowPanel.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
             this.DockWindowPanel.Name = "DockWindowPanel";
             this.DockWindowPanel.Size = new System.Drawing.Size(1701, 541);
-            dockPanelGradient4.EndColor = System.Drawing.SystemColors.ControlLight;
-            dockPanelGradient4.StartColor = System.Drawing.SystemColors.ControlLight;
-            autoHideStripSkin2.DockStripGradient = dockPanelGradient4;
-            tabGradient8.EndColor = System.Drawing.SystemColors.Control;
-            tabGradient8.StartColor = System.Drawing.SystemColors.Control;
-            tabGradient8.TextColor = System.Drawing.SystemColors.ControlDarkDark;
-            autoHideStripSkin2.TabGradient = tabGradient8;
-            dockPanelSkin2.AutoHideStripSkin = autoHideStripSkin2;
-            tabGradient9.EndColor = System.Drawing.SystemColors.ControlLightLight;
-            tabGradient9.StartColor = System.Drawing.SystemColors.ControlLightLight;
-            tabGradient9.TextColor = System.Drawing.SystemColors.ControlText;
-            dockPaneStripGradient2.ActiveTabGradient = tabGradient9;
-            dockPanelGradient5.EndColor = System.Drawing.SystemColors.Control;
-            dockPanelGradient5.StartColor = System.Drawing.SystemColors.Control;
-            dockPaneStripGradient2.DockStripGradient = dockPanelGradient5;
-            tabGradient10.EndColor = System.Drawing.SystemColors.ControlLight;
-            tabGradient10.StartColor = System.Drawing.SystemColors.ControlLight;
-            tabGradient10.TextColor = System.Drawing.SystemColors.ControlText;
-            dockPaneStripGradient2.InactiveTabGradient = tabGradient10;
-            dockPaneStripSkin2.DocumentGradient = dockPaneStripGradient2;
-            tabGradient11.EndColor = System.Drawing.SystemColors.ActiveCaption;
-            tabGradient11.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
-            tabGradient11.StartColor = System.Drawing.SystemColors.GradientActiveCaption;
-            tabGradient11.TextColor = System.Drawing.SystemColors.ActiveCaptionText;
-            dockPaneStripToolWindowGradient2.ActiveCaptionGradient = tabGradient11;
-            tabGradient12.EndColor = System.Drawing.SystemColors.Control;
-            tabGradient12.StartColor = System.Drawing.SystemColors.Control;
-            tabGradient12.TextColor = System.Drawing.SystemColors.ControlText;
-            dockPaneStripToolWindowGradient2.ActiveTabGradient = tabGradient12;
-            dockPanelGradient6.EndColor = System.Drawing.SystemColors.ControlLight;
-            dockPanelGradient6.StartColor = System.Drawing.SystemColors.ControlLight;
-            dockPaneStripToolWindowGradient2.DockStripGradient = dockPanelGradient6;
-            tabGradient13.EndColor = System.Drawing.SystemColors.GradientInactiveCaption;
-            tabGradient13.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
-            tabGradient13.StartColor = System.Drawing.SystemColors.GradientInactiveCaption;
-            tabGradient13.TextColor = System.Drawing.SystemColors.ControlText;
-            dockPaneStripToolWindowGradient2.InactiveCaptionGradient = tabGradient13;
-            tabGradient14.EndColor = System.Drawing.Color.Transparent;
-            tabGradient14.StartColor = System.Drawing.Color.Transparent;
-            tabGradient14.TextColor = System.Drawing.SystemColors.ControlDarkDark;
-            dockPaneStripToolWindowGradient2.InactiveTabGradient = tabGradient14;
-            dockPaneStripSkin2.ToolWindowGradient = dockPaneStripToolWindowGradient2;
-            dockPanelSkin2.DockPaneStripSkin = dockPaneStripSkin2;
-            this.DockWindowPanel.Skin = dockPanelSkin2;
+            dockPanelGradient1.EndColor = System.Drawing.SystemColors.ControlLight;
+            dockPanelGradient1.StartColor = System.Drawing.SystemColors.ControlLight;
+            autoHideStripSkin1.DockStripGradient = dockPanelGradient1;
+            tabGradient1.EndColor = System.Drawing.SystemColors.Control;
+            tabGradient1.StartColor = System.Drawing.SystemColors.Control;
+            tabGradient1.TextColor = System.Drawing.SystemColors.ControlDarkDark;
+            autoHideStripSkin1.TabGradient = tabGradient1;
+            dockPanelSkin1.AutoHideStripSkin = autoHideStripSkin1;
+            tabGradient2.EndColor = System.Drawing.SystemColors.ControlLightLight;
+            tabGradient2.StartColor = System.Drawing.SystemColors.ControlLightLight;
+            tabGradient2.TextColor = System.Drawing.SystemColors.ControlText;
+            dockPaneStripGradient1.ActiveTabGradient = tabGradient2;
+            dockPanelGradient2.EndColor = System.Drawing.SystemColors.Control;
+            dockPanelGradient2.StartColor = System.Drawing.SystemColors.Control;
+            dockPaneStripGradient1.DockStripGradient = dockPanelGradient2;
+            tabGradient3.EndColor = System.Drawing.SystemColors.ControlLight;
+            tabGradient3.StartColor = System.Drawing.SystemColors.ControlLight;
+            tabGradient3.TextColor = System.Drawing.SystemColors.ControlText;
+            dockPaneStripGradient1.InactiveTabGradient = tabGradient3;
+            dockPaneStripSkin1.DocumentGradient = dockPaneStripGradient1;
+            tabGradient4.EndColor = System.Drawing.SystemColors.ActiveCaption;
+            tabGradient4.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
+            tabGradient4.StartColor = System.Drawing.SystemColors.GradientActiveCaption;
+            tabGradient4.TextColor = System.Drawing.SystemColors.ActiveCaptionText;
+            dockPaneStripToolWindowGradient1.ActiveCaptionGradient = tabGradient4;
+            tabGradient5.EndColor = System.Drawing.SystemColors.Control;
+            tabGradient5.StartColor = System.Drawing.SystemColors.Control;
+            tabGradient5.TextColor = System.Drawing.SystemColors.ControlText;
+            dockPaneStripToolWindowGradient1.ActiveTabGradient = tabGradient5;
+            dockPanelGradient3.EndColor = System.Drawing.SystemColors.ControlLight;
+            dockPanelGradient3.StartColor = System.Drawing.SystemColors.ControlLight;
+            dockPaneStripToolWindowGradient1.DockStripGradient = dockPanelGradient3;
+            tabGradient6.EndColor = System.Drawing.SystemColors.GradientInactiveCaption;
+            tabGradient6.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
+            tabGradient6.StartColor = System.Drawing.SystemColors.GradientInactiveCaption;
+            tabGradient6.TextColor = System.Drawing.SystemColors.ControlText;
+            dockPaneStripToolWindowGradient1.InactiveCaptionGradient = tabGradient6;
+            tabGradient7.EndColor = System.Drawing.Color.Transparent;
+            tabGradient7.StartColor = System.Drawing.Color.Transparent;
+            tabGradient7.TextColor = System.Drawing.SystemColors.ControlDarkDark;
+            dockPaneStripToolWindowGradient1.InactiveTabGradient = tabGradient7;
+            dockPaneStripSkin1.ToolWindowGradient = dockPaneStripToolWindowGradient1;
+            dockPanelSkin1.DockPaneStripSkin = dockPaneStripSkin1;
+            this.DockWindowPanel.Skin = dockPanelSkin1;
             this.DockWindowPanel.TabIndex = 5;
             this.DockWindowPanel.ActiveContentChanged += new System.EventHandler(this.DockWindowPanel_ActiveContentChanged);
             // 
@@ -821,7 +803,6 @@
         public System.Windows.Forms.RibbonButton rbClose;
         public System.Windows.Forms.RibbonButton rbSaveAs;
         public System.Windows.Forms.RibbonButton rbOut;
-        public System.Windows.Forms.RibbonButton rbWidthImage;
         public System.Windows.Forms.RibbonButton rbAllImage;
        
         public System.Windows.Forms.RibbonTab rbMenu;

+ 0 - 44
OTSIncAReportApp/1-UI/frmReportApp.cs

@@ -515,45 +515,6 @@ namespace OTSIncAReportApp
             }
         }
 
-        /// <summary>
-        /// 宽度匹配按钮事件
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void rbWidthImage_Click(object sender, EventArgs e)
-        {
-            int tabIndex = (int)(m_conditionChoose.tabIndex);
-
-            switch (tabIndex)
-            {
-                case (int)DisplayPicutureType.AnalyzeImg:
-                    int imgDisType = m_conditionChoose.m_conditionData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
-                    if (imgDisType == 0)
-                    {
-                        if (im_Control_DrawDistrbutionImageAndBSE != null)
-                        {
-                            //分布图
-                            im_Control_DrawDistrbutionImageAndBSE.WidthMatch();
-                            im_Control_DrawDistrbutionImageAndBSE.Invalidate();
-                        }
-                    }
-                    else
-                    {
-                        if (im_Control_DrawDistrbutionSortImage != null)
-                        {
-                            //排列图
-                        }
-                    }
-                    break;
-                case (int)DisplayPicutureType.AnalyzeDataTable:
-                    break;
-                case (int)DisplayPicutureType.AnalyzeDataChart:
-                    break;
-                default:
-                    break;
-            }
-        }
-
         /// <summary>
         /// 帧图边框按钮事件
         /// </summary>
@@ -1289,11 +1250,6 @@ namespace OTSIncAReportApp
             //m_StandardLibrary.DataDeletion();
         }
 
-        private void rbClose_DoubleClick(object sender, EventArgs e)
-        {
-
-        }
-
         private void ribbonOrbMenuItem_purity_Click(object sender, EventArgs e)
         {
             string sou = m_conditionChoose.m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE].itemDisplayVal.ToString();

+ 7 - 13
OTSIncAReportApp/1-UI/frmReportApp.resx

@@ -184,31 +184,31 @@
   <data name="rbOpen.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="rbOpenprj.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="rbClose.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="Backup.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        wQAADsEBuJFr7QAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="Backup.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonOrbOptionButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -239,12 +239,6 @@
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
         JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
-</value>
-  </data>
-  <data name="rbWidthImage.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="rbFrame.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -268,13 +262,13 @@
   <data name="rbHelp.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        wQAADsEBuJFr7QAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="rbHelp.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="rbGB1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

+ 0 - 1
OTSIncAReportApp/1-UI/frmTables.cs

@@ -35,7 +35,6 @@ namespace OTSIncAReportApp
         private void OTSCaculationTablesWindow_Activated(object sender, EventArgs e)
         {
             OTSSourceGrid m_SampleGrid = m_ReportApp.m_conditionChoose.m_sourceGrid;
-
             m_SampleGrid.InitGrid();
             m_SampleGrid.InitGroupTitle(0, table["generalparameters"].ToString());
 

+ 40 - 47
OTSIncAReportApp/2-CommonFunction/CommonClass/DisplayParticle.cs

@@ -5,15 +5,9 @@ using OTSMeasureApp._0_OTSModel.OTSDataType;
 using System;
 using System.Collections.Generic;
 using System.Drawing;
-using System.Drawing.Drawing2D;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 using System.Windows.Forms;
-
 namespace OTSIncAReportGraph
 {
-    
     /// <summary>
     /// Particle对象上操作状态的枚举
     /// </summary>
@@ -22,16 +16,12 @@ namespace OTSIncAReportGraph
         PAINT = 0,
         NOPAINT = 1,
         CONCISEPAINT=2,// display as a "+"
- 
-       
     }
     public enum DisplayState
     {
         DISPLAY = 0,
         NODISPLAY = 1,
        
-
-
     }
 
     /// <summary>
@@ -42,7 +32,6 @@ namespace OTSIncAReportGraph
         DISPLAYXRAY = 0,
         NODISPLAY = 1,
     }
-
     /// <summary>
     /// Segment对象绘制的枚举,以点绘制,还是以线绘制
     /// </summary>
@@ -50,8 +39,15 @@ namespace OTSIncAReportGraph
     {
         DRAWPARTICLEIMAGE = 0,
         DRAWCOLORIMAGE = 1,
+        DRAWGROUPCOLORIMAGE = 2
     }
 
+    
+
+
+
+
+    
     /// <summary>
     /// 颗粒类
     /// </summary>
@@ -72,13 +68,11 @@ namespace OTSIncAReportGraph
         private bool m_isdragging;
         private PointF m_dragingpoint;
         private Color m_color;
-    
-      
         private DisplayState m_displayState;
         private SegmentShowMode show_mode = SegmentShowMode.DRAWPARTICLEIMAGE;//绘线,绘点,默认绘点,意思为默认显示BSE原图像
         private Bitmap m_BSEimage;
         private Bitmap m_Colorimage;
-
+        private Bitmap m_GroupColorimage;
         private string m_sort_type = "从大到小";
         private float m_f_size = 0;
         private string m_str_lj = "颗粒粒级";
@@ -96,6 +90,8 @@ namespace OTSIncAReportGraph
                return objParticleData.TypeId;
             }
         }
+
+
         //TypeName
         public string TypeName 
         {
@@ -127,9 +123,6 @@ namespace OTSIncAReportGraph
                 return objParticleData.SEMPosY;
             }
         }
-
-
-
         public DisplayParticle()
         {
             m_id = System.Guid.NewGuid();
@@ -143,21 +136,20 @@ namespace OTSIncAReportGraph
         }
         public DisplayParticle(Particle particle,PointF FieldLeftTop,Bitmap originalFieldImage/*,Bitmap fieldParticleImage*/)
         {
-         
             m_id = System.Guid.NewGuid();
             objParticleData = particle;
             this.Color = DrawFunction.GetColorBySTDTypeIDForBSEAndSorImage(particle.TypeColor, particle.TypeId);
 
-
             List<Segment> list_seg;
             list_seg = particle.SegmentList;
 
           
             this.m_BSEimage = new Bitmap(particle.RectWidth+1, particle.RectHeight+1);
             this.m_Colorimage = new Bitmap(particle.RectWidth+1, particle.RectHeight+1);
+            m_GroupColorimage= new Bitmap(particle.RectWidth + 1, particle.RectHeight + 1);
             //再循环取出里面所有的segment
             foreach (Segment seg in list_seg)
-            {
+            { 
                
 
                 #region 
@@ -174,16 +166,18 @@ namespace OTSIncAReportGraph
                     int lsjs_y = seg.Height;
 
                     var pixelColor = originalFieldImage.GetPixel(lsjs_x, lsjs_y);
-
-                     lsjs_x = seg.Start - particle.RectLeft + m;
+                    var GroupColor = DrawFunction.colorHx16toRGB(particle.GroupColor);
+                    lsjs_x = seg.Start - particle.RectLeft + m;
 
                      lsjs_y = seg.Height - particle.RectTop;
 
 
                     m_BSEimage.SetPixel(lsjs_x, lsjs_y, pixelColor);//ls_list_colors[m]
                     m_Colorimage.SetPixel(lsjs_x, lsjs_y, m_color);
-
+                    m_GroupColorimage.SetPixel(lsjs_x, lsjs_y, GroupColor);
                 }
+                m_Colorimage.Save(@"C:\Users\yunyunyun\Desktop\9-9-1\w\" + objParticleData.TypeName + @".bmp");
+                m_GroupColorimage.Save(@"C:\Users\yunyunyun\Desktop\9-9-1\w\"+ objParticleData.TypeName +"_"+ objParticleData.GroupName + @".bmp");
 
                 #endregion //------------------------------------------------------------------------------
 
@@ -461,10 +455,6 @@ namespace OTSIncAReportGraph
 
         
             this.DraggingPoint = mousePoint;
-
-            
-                  
-
         }
         public void Move(SizeF xyShift)
         {
@@ -574,13 +564,6 @@ namespace OTSIncAReportGraph
           
 
         }
-
-
-
-        /// <summary>
-        /// 绘制函数
-        /// </summary>
-        /// <param name="e"></param>
         public  void Paint(Graphics g)
         {
             //Graphics g = e.Graphics;
@@ -600,25 +583,35 @@ namespace OTSIncAReportGraph
                                     1,
                                     ButtonBorderStyle.Solid,
                                     Color.Lime,
-                                    1,
+                                    1,    
                                     ButtonBorderStyle.Solid);
             }
-           
+
+
+
+
+
+
+
+
+
             if (GetPaintState() == PaintState.PAINT)
             {
-             
-                   
-                    if (this.ShowMode == SegmentShowMode.DRAWPARTICLEIMAGE)
-                    {
-                            g.DrawImage(m_BSEimage, m_Globalrect);
-                    }
-                    else
-                    {
-                        
-                        g.DrawImage(m_Colorimage, m_Globalrect);
+                if (this.ShowMode == SegmentShowMode.DRAWPARTICLEIMAGE)
+                {
+                    g.DrawImage(m_BSEimage, m_Globalrect);
+                }
+                else
+                if (this.ShowMode == SegmentShowMode.DRAWCOLORIMAGE)
+                {
 
-                    }
+                    g.DrawImage(m_Colorimage, m_Globalrect);
 
+                }
+                else
+                {
+                    g.DrawImage(m_GroupColorimage, m_Globalrect);
+                }
             }
             if (GetPaintState() == PaintState.CONCISEPAINT)
             {

+ 1 - 1
OTSIncAReportApp/2-CommonFunction/OTSRstMgrFunction/RptConfigFile.cs

@@ -49,7 +49,7 @@ namespace OTSIncAReportApp.OTSRstMgrFunction
             {
                 this.Systype = OTS_SysType_ID.BatteryCleannessA;
             }
-
+            else {this.Systype = OTS_SysType_ID.SteelMineral;}
             this.PartSizeFile = GetDataFromDataSetXml(ds, "name", "PartSizeFile");//ds.Tables[1].Rows[2]["Name"].ToString();
             this.TriTempFile = m_TriTempFile;
         }

+ 6 - 8
OTSSysMgrApp/OTSSystemManagerForms.cs

@@ -347,7 +347,6 @@ namespace OTSSysMgrApp
             bool result = XMLOperationClass.ReadSysType(path, "SysType", ref Type);
             if (result)
             {
-                this.radioButton_IncA.CheckedChanged -= new System.EventHandler(this.radioButton_IncA_CheckedChanged);
                 if (Type == "IncA")
                 {
                     radioButton_IncA.Checked = true;
@@ -359,18 +358,19 @@ namespace OTSSysMgrApp
                 else 
                 {
                     radioButton_CleannessA.Checked = true;
-                    this.coB_CleannessType.SelectedIndexChanged -= new System.EventHandler(this.coB_CleannessType_SelectedIndexChanged);
                     if (Type == "TCCleannessA")
-                    { 
-                       coB_CleannessType.SelectedIndex = 0;
+                    {
+                        this.coB_CleannessType.SelectedIndexChanged -= new System.EventHandler(this.coB_CleannessType_SelectedIndexChanged);
+                        coB_CleannessType.SelectedIndex = 0;
+                        this.coB_CleannessType.SelectedIndexChanged += new System.EventHandler(this.coB_CleannessType_SelectedIndexChanged);
                     }
                     else if(Type == "BatteryCleannessA")
                     {
+                        this.coB_CleannessType.SelectedIndexChanged -= new System.EventHandler(this.coB_CleannessType_SelectedIndexChanged);
                         coB_CleannessType.SelectedIndex = 1;
+                        this.coB_CleannessType.SelectedIndexChanged += new System.EventHandler(this.coB_CleannessType_SelectedIndexChanged);
                     }
-                    this.coB_CleannessType.SelectedIndexChanged += new System.EventHandler(this.coB_CleannessType_SelectedIndexChanged);
                 }
-                this.radioButton_IncA.CheckedChanged += new System.EventHandler(this.radioButton_IncA_CheckedChanged);
                 presel = Type;
             }
         }
@@ -656,9 +656,7 @@ namespace OTSSysMgrApp
         {
             if(radioButton_CleannessA.Checked)
             {
-                this.radioButton_IncA.CheckedChanged -= new System.EventHandler(this.radioButton_IncA_CheckedChanged);
                 ChangeSysType();
-                this.radioButton_IncA.CheckedChanged += new System.EventHandler(this.radioButton_IncA_CheckedChanged);
             }
         }
         private void WriteSysType()