浏览代码

样品台编辑器添加说明

CXS 3 年之前
父节点
当前提交
19acff761c

+ 6 - 3
OTSIncAMeasureApp/7-OTSProgMgrInfo/Stage/DlgStageEdit.cs

@@ -219,6 +219,7 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             if (!CheckParams())
             {
                 this.button_Ok.Enabled = false;
+                MessageBox.Show("Please check Params!");
                 return;
             }
             CSEMStageData a_pCSEMStageData = new CSEMStageData();
@@ -393,13 +394,16 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             int nBounderyWidth = (int)(BounderyRect.Width);//um,,pixle is (nWidth - PIC_EDGE * 2 )
             int nBounderyHeight = (int)(BounderyRect.Height);
             double PixSize = 0;
+            double coordinateSystemEndpoint = 0;
             if (nBounderyWidth > nBounderyHeight)
             {
                 PixSize = (long)((double)nBounderyWidth / (double)(nWidth - StageDisplayHelp.PIC_EDGE * 2));
+                coordinateSystemEndpoint = nBounderyWidth/2;
             }
             else
             {
                 PixSize = (long)((double)nBounderyHeight / (double)(nHeight - StageDisplayHelp.PIC_EDGE * 2));
+                coordinateSystemEndpoint = nBounderyHeight/2;
             }
             //draw boundery
             Brush pLTGrayBrush = new SolidBrush(Color.FromArgb(255, 0, 0));
@@ -417,7 +421,7 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
 
             // draw ratio
             stageDisplayHelp.DrawRatio(nBounderyWidth, nWidth, nHeight, pDC, (IntPtr)pWnd, rc);
-            stageDisplayHelp.DrawXY(pDC, m_ctrlStagePicture.Width, m_ctrlStagePicture.Height, PixSize);
+            stageDisplayHelp.DrawXY(pDC, m_ctrlStagePicture.Width, m_ctrlStagePicture.Height, PixSize, coordinateSystemEndpoint);
             pLTGrayBrush.Dispose();
             //pBlackBrush.Dispose();
             //pWriteBrush.Dispose();
@@ -503,13 +507,12 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
 
         private void DlgStageEdit_Paint(object sender, PaintEventArgs e)
         {
-            //DrawXY(m_ctrlStagePicture);
+          
         }
 
         private void DlgStageEdit_HelpButtonClicked(object sender, CancelEventArgs e)
         {
             MessageBox.Show("样品台文件说明\n样品台名行只能有一个字符串参数。样品台名不能为空字串,不能含\',\'字符\n样品台边框行有5个数值参数。形状参数,中心x坐标,中心y坐标,宽度或直径,高度或0\n标样信息行有5个数值参数。形状参数,中心x坐标,中心y坐标,宽度或直径,高度或0\n样品孔信息行有6个数值参数,1个字符串参数,5个数值参数。1个字符串参数为样品孔名。5个数值参数为形状参数,中心x坐标,中心y坐标,宽度或直径,高度或0。", "Help",MessageBoxButtons.OK,MessageBoxIcon.Information);
-            Cursor = Cursors.Default;
         }
     }
 }

+ 21 - 74
OTSIncAMeasureApp/7-OTSProgMgrInfo/Stage/StageDisplayHelp.cs

@@ -305,7 +305,7 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
         /// 在任意的panel里画一个坐标,坐标所在的四边形距离panel边50像素
         /// </summary>
         /// <param name="pan"></param>
-        public void DrawXY(Object a_pDC, double width,double height, double a_dPixSize)
+        public void DrawXY(Object a_pDC, double width,double height, double a_dPixSize,double coordinateSystemEndpoint)
         {
             if (a_pDC == null)
             {
@@ -316,9 +316,9 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             //绘制X轴,
             double ObjectCenterX =  width/ 2;     
             double ObjectCenterY = height / 2;
-            int X0 = (int)(25000 / a_dPixSize + ObjectCenterX);
+            int X0 = (int)(coordinateSystemEndpoint / a_dPixSize + ObjectCenterX);
             int Y0 = (int)(0 / a_dPixSize + ObjectCenterY);
-            int X1 = (int)(-25000 / a_dPixSize + ObjectCenterX);
+            int X1 = (int)(-coordinateSystemEndpoint / a_dPixSize + ObjectCenterX);
             int Y1 = (int)(0 / a_dPixSize + ObjectCenterY);
             Point px1 = new Point(X0, Y0);
             Point px2 = new Point(X1, Y1);
@@ -326,9 +326,9 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             g.DrawLine(pen, px1, px2);
             //绘制Y轴
             int X3 = (int)(0 / a_dPixSize + ObjectCenterX);
-            int Y3 = (int)(25000 / a_dPixSize + ObjectCenterY);
+            int Y3 = (int)(coordinateSystemEndpoint / a_dPixSize + ObjectCenterY);
             int X4 = (int)(0 / a_dPixSize + ObjectCenterX);
-            int Y4 = (int)(-25000 / a_dPixSize + ObjectCenterY);
+            int Y4 = (int)(-coordinateSystemEndpoint / a_dPixSize + ObjectCenterY);
             PointF py1 = new PointF(X3, Y3);
             PointF py2 = new PointF(X4, Y4);
             g.DrawLine(pen, py1, py2);
@@ -336,104 +336,51 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             int move = 5,len=10;
             for (int i = 1; i <= len; i++)    //len等分Y正轴
             {
-                Point px3 = new Point((int)ObjectCenterX + move, (int)(ObjectCenterY + (-25000 / a_dPixSize) / len * i));
-                Point px4 = new Point((int)ObjectCenterX, (int)(ObjectCenterY + (-25000 / a_dPixSize) / len * i));
-                string sx = ((int)(-(-25000) / len * i)).ToString();
+                Point px3 = new Point((int)ObjectCenterX + move, (int)(ObjectCenterY + (-coordinateSystemEndpoint / a_dPixSize) / len * i));
+                Point px4 = new Point((int)ObjectCenterX, (int)(ObjectCenterY + (-coordinateSystemEndpoint / a_dPixSize) / len * i));
+                string sx = ((int)(-(-coordinateSystemEndpoint) / len * i)).ToString();
                 g.DrawLine(pen, px3, px4);
                 StringFormat drawFormat = new StringFormat();
                 drawFormat.Alignment = StringAlignment.Far;
                 drawFormat.LineAlignment = StringAlignment.Center;
-                g.DrawString(sx, new Font("宋体", 8f), Brushes.Green, new Point((int)ObjectCenterX - 5, (int)(ObjectCenterY + (-25000 / a_dPixSize) / len * i)), drawFormat);
+                g.DrawString(sx, new Font("宋体", 8f), Brushes.Green, new Point((int)ObjectCenterX - 5, (int)(ObjectCenterY + (-coordinateSystemEndpoint / a_dPixSize) / len * i)), drawFormat);
             }
             for (int i = 1; i <= len; i++)    
             {
-                Point px3 = new Point((int)ObjectCenterX + move, (int)(ObjectCenterY + (25000 / a_dPixSize) / len * i));
-                Point px4 = new Point((int)ObjectCenterX, (int)(ObjectCenterY + (25000 / a_dPixSize) / len * i));
-                string sx = ((int)((-25000) / len * i)).ToString();
+                Point px3 = new Point((int)ObjectCenterX + move, (int)(ObjectCenterY + (coordinateSystemEndpoint / a_dPixSize) / len * i));
+                Point px4 = new Point((int)ObjectCenterX, (int)(ObjectCenterY + (coordinateSystemEndpoint / a_dPixSize) / len * i));
+                string sx = ((int)((-coordinateSystemEndpoint) / len * i)).ToString();
                 g.DrawLine(pen, px3, px4);
                 StringFormat drawFormat = new StringFormat();
                 drawFormat.Alignment = StringAlignment.Far;
                 drawFormat.LineAlignment = StringAlignment.Center;
-                g.DrawString(sx, new Font("宋体", 8f), Brushes.Green, new Point((int)ObjectCenterX - 5, (int)(ObjectCenterY + (25000 / a_dPixSize) / len * i)), drawFormat);
+                g.DrawString(sx, new Font("宋体", 8f), Brushes.Green, new Point((int)ObjectCenterX - 5, (int)(ObjectCenterY + (coordinateSystemEndpoint / a_dPixSize) / len * i)), drawFormat);
             }
             for (int i = 1; i <= len; i++)    //len等分X正轴
             {
-                Point px3 = new Point((int)(ObjectCenterX + (25000 / a_dPixSize) / len * i) , (int)(ObjectCenterY + move));
-                Point px4 = new Point((int)(ObjectCenterX + (25000 / a_dPixSize) / len * i), (int)ObjectCenterY);
-                string sx = ((int)(25000 / len * i)).ToString();
+                Point px3 = new Point((int)(ObjectCenterX + (coordinateSystemEndpoint / a_dPixSize) / len * i) , (int)(ObjectCenterY + move));
+                Point px4 = new Point((int)(ObjectCenterX + (coordinateSystemEndpoint / a_dPixSize) / len * i), (int)ObjectCenterY);
+                string sx = ((int)(coordinateSystemEndpoint / len * i)).ToString();
                 g.DrawLine(pen, px3, px4);
                 StringFormat drawFormat = new StringFormat();
                 drawFormat.Alignment = StringAlignment.Far;
                 drawFormat.LineAlignment = StringAlignment.Center;
-                g.DrawString(sx, new Font("宋体", 6f), Brushes.Green, new Point((int)(ObjectCenterX + (25000 / a_dPixSize) / len * i)+5, (int)(ObjectCenterY + 15)), drawFormat);
+                g.DrawString(sx, new Font("宋体", 6f), Brushes.Green, new Point((int)(ObjectCenterX + (coordinateSystemEndpoint / a_dPixSize) / len * i)+5, (int)(ObjectCenterY + 15)), drawFormat);
             }
             for (int i = 1; i <= len; i++)
             {
-                Point px3 = new Point((int)(ObjectCenterX + (-25000 / a_dPixSize) / len * i), (int)(ObjectCenterY + move));
-                Point px4 = new Point((int)(ObjectCenterX + (-25000 / a_dPixSize) / len * i), (int)(ObjectCenterY));
-                string sx = ((int)((-25000) / len * i)).ToString();
+                Point px3 = new Point((int)(ObjectCenterX + (-coordinateSystemEndpoint / a_dPixSize) / len * i), (int)(ObjectCenterY + move));
+                Point px4 = new Point((int)(ObjectCenterX + (-coordinateSystemEndpoint / a_dPixSize) / len * i), (int)(ObjectCenterY));
+                string sx = ((int)((-coordinateSystemEndpoint) / len * i)).ToString();
                 g.DrawLine(pen, px3, px4);
                 StringFormat drawFormat = new StringFormat();
                 drawFormat.Alignment = StringAlignment.Far;
                 drawFormat.LineAlignment = StringAlignment.Center;
-                g.DrawString(sx, new Font("宋体", 6f), Brushes.Green, new Point((int)(ObjectCenterX + (-25000 / a_dPixSize) / len * i)+5, (int)(ObjectCenterY + 15)), drawFormat);
+                g.DrawString(sx, new Font("宋体", 6f), Brushes.Green, new Point((int)(ObjectCenterX + (-coordinateSystemEndpoint / a_dPixSize) / len * i)+5, (int)(ObjectCenterY + 15)), drawFormat);
             }
 
             //g.Dispose();
         }
         #endregion
-        ///// <summary>
-        ///// 画出Y轴上的分值线,从零开始
-        ///// </summary>
-        ///// <param name="pan"></param>
-        ///// <param name="maxY"></param>
-        ///// <param name="len"></param>
-        //#region   画出Y轴上的分值线,从零开始
-        //public void DrawYLine(PictureBox pan, float maxY, int len)
-        //{
-        //    float move = 50f;
-        //    float LenX = pan.Width - 2 * move;
-        //    float LenY = pan.Height - 2 * move;
-        //    Graphics g = pan.CreateGraphics();
-        //    for (int i = 0; i <= len; i++)    //len等份Y轴
-        //    {
-        //        PointF px1 = new PointF(move, LenY * i / len + move);
-        //        PointF px2 = new PointF(move + 4, LenY * i / len + move);
-        //        string sx = (maxY - maxY * i / len).ToString();
-        //        g.DrawLine(new Pen(Brushes.Black, 2), px1, px2);
-        //        StringFormat drawFormat = new StringFormat();
-        //        drawFormat.Alignment = StringAlignment.Far;
-        //        drawFormat.LineAlignment = StringAlignment.Center;
-        //        g.DrawString(sx, new Font("宋体", 8f), Brushes.Black, new PointF(move / 1.2f, LenY * i / len + move * 1.1f), drawFormat);
-        //    }
-        //    Pen pen = new Pen(Color.Black, 1);
-        //    g.DrawString("Y轴", new Font("宋体 ", 10f), Brushes.Black, new PointF(move / 3, move / 2f));
-        //}
-        //#endregion
-        ///// <summary>
-        ///// 画出X轴上的分值线,从零开始
-        ///// </summary>
-        ///// <param name="pan"></param>
-        ///// <param name="maxX"></param>
-        ///// <param name="len"></param>
-        //#region   画出X轴上的分值线,从零开始
-        //public void DrawXLine(PictureBox pan, float maxX, int len)
-        //{
-        //    float move = 50f;
-        //    float LenX = pan.Width - 2 * move;
-        //    float LenY = pan.Height - 2 * move;
-        //    Graphics g = pan.CreateGraphics();
-        //    for (int i = 1; i <= len; i++)
-        //    {
-        //        PointF py1 = new PointF(LenX * i / len + move, pan.Height - move - 4);
-        //        PointF py2 = new PointF(LenX * i / len + move, pan.Height - move);
-        //        string sy = (maxX * i / len).ToString();
-        //        g.DrawLine(new Pen(Brushes.Black, 2), py1, py2);
-        //        g.DrawString(sy, new Font("宋体", 8f), Brushes.Black, new PointF(LenX * i / len + move, pan.Height - move / 1.1f));
-        //    }
-        //    Pen pen = new Pen(Color.Black, 1);
-        //    g.DrawString("X轴", new Font("宋体 ", 10f), Brushes.Black, new PointF(pan.Width - move / 1.5f, pan.Height - move / 1.5f));
-        //}
-        //#endregion
     }
 }