void ShowRaleiView(bool IsLeft, WriteableBitmap b) { if (b == null) { return; } RayleiResolution v = new RayleiResolution(); ActionShow.CenterShow(Desktop, v); v.IsLeft = IsLeft; v.Test(b); }
//ISO12233ExChart t=new ISO12233ExChart(); //public void autoTest() //{ // //mark = new MarkProcess(ProcPhoto); // if (ChartPhoto.getChart() == null) { return; } // processbar.Value = 0; // //ResultPanel.Children.Clear(); // Button li; // t.setChart(ChartPhoto.getChart()); // //t.PhotoTestProc += new PhotoTestProcessHandler(t_PhotoTestProc); // t.CorrectISO12233Chart(); // t.BeginAnalyse(); // //t.sendProcEvent(true, ""); // //processbar.Value = 30; // sw.Stop(); // sw.Start(); // long r = t.getLPResoveLines(); // //li = new Button(); // //li.Name = "ResolvingPower"; // buttonRayleiResolution.Content = "分辨率(中央):" + r.ToString() + " LW/PH"; // buttonRayleiResolution.SetValue(ToolTipService.ToolTipProperty, "利用瑞利判据,直观判断相机分辨率,数据表示在一张照片里面可以分辨的垂直线条的数量"); // //li.Click += new RoutedEventHandler(RayleiResolution_Click); // //ResultPanel.Children.Add(li); // //t.sendProcEvent(true, ""); // //processbar.Value = 50; // r = t.getHEdgeResoveLines(); // //li = new Button(); // //li.Name = "HResolvingPower"; // buttonHMTF.Content = "分辨率(水平线):" + r.ToString() + " LW/PH"; // buttonHMTF.SetValue(ToolTipService.ToolTipProperty, "利用水平线条测试分辨率,接近相机的中心分辨率,数据表示在一张照片里面可以分辨的垂直线条的数量"); // //li.Click += new RoutedEventHandler(HMTF_Click); // //ResultPanel.Children.Add(li); // //t.sendProcEvent(true, ""); // //processbar.Value = 60; // r = t.getVEdgeResoveLines(); // //li = new Button(); // //li.Name = "VResolvingPower"; // buttonVMTF.Content = "分辨率(垂直线):" + r.ToString() + " LW/PH"; // buttonVMTF.SetValue(ToolTipService.ToolTipProperty, "利用垂直线条测试分辨率,接近相机的边沿分辨率,数据表示在一张照片里面可以分辨的垂直线条的数量"); // //li.Click += new RoutedEventHandler(VMTF_Click); // //ResultPanel.Children.Add(li); // //t.sendProcEvent(true, ""); // //processbar.Value = 70; // //li = new Button(); // decimal d = t.getHDispersiveness(); // //li.Name = "HDispersiveness"; // buttonHDispersiveness.Content = "色散(水平线):" + d.ToString() + " pxl"; // buttonHDispersiveness.SetValue(ToolTipService.ToolTipProperty, "利用水平线条测试,接近中央色散程度,数据表示红绿蓝三原色在边界分离的程度,无色散时为0"); // //li.Click += new RoutedEventHandler(VDispersiveness_Click); // //ResultPanel.Children.Add(li); // //t.sendProcEvent(true, ""); // //processbar.Value = 85; // //li = new Button(); // d = t.getVDispersiveness(); // //li.Name = "VDispersiveness"; // buttonVDispersiveness.Content = "色散(垂直线):" + d.ToString() + " pxl"; // buttonVDispersiveness.SetValue(ToolTipService.ToolTipProperty, "利用垂直线条测试,接近边沿色散程度,数据表示红绿蓝三原色在边界分离的程度,无色散时为0"); // //li.Click += new RoutedEventHandler(HDispersiveness_Click); // //ResultPanel.Children.Add(li); // //t.sendProcEvent(true, ""); // //processbar.Value = 100; // sw.Stop(); // ResultPanel.SetValue(ToolTipService.ToolTipProperty, "测试共花费" + sw.Interval.Milliseconds.ToString() + "ms"); // IsTested = true; // TestProject.TestHtml.Add(WriteHTML()); //} //double PrcoStep = 100 / 6d; //void t_PhotoTestProc(object sender, PhotoTestProcessEventArgs e) //{ // processbar.Value = processbar.Value + PrcoStep; // if (processbar.Value >= 99.5) // { // testHelper.CurrentChart.PhotoTestProc -= new PhotoTestProcessHandler(t_PhotoTestProc); // } //} void RayleiResolution_Click(object sender, RoutedEventArgs e) { if (!CameraTestDesktop.CanAccess(Version.Professional)) { return; } RayleiResolution pc = new RayleiResolution(); CameraTestDesktop.getDesktopPanel().Children.Add(pc); if (ChartPhoto.IsSelect) { pc.IsLeft = true; pc.Test(ChartPhoto.getSelectArea()); } else { if (testHelper.CurrentChart == null) { SilverlightLFC.common.Environment.ShowMessage("没有选择测试照片做进一步测试"); return; } if (testHelper.CurrentChart.ProcessInfor.ContainsKey("RayleiResolutionIsLeft")) { if (Convert.ToBoolean(testHelper.CurrentChart.ProcessInfor["RayleiResolutionIsLeft"])) { pc.IsLeft = true; pc.Test(testHelper.CurrentChart.mp.SelectedArea["RayleiResolutionLArea"]); } else { pc.IsLeft = false; pc.Test(testHelper.CurrentChart.mp.SelectedArea["RayleiResolutionRArea"]); } } } }