public MainModule() { EvtList = new List <List <EventClass> >(); ZomClass = new ZoomClass(); scalData = new ScaleData(); ConData = new ControlData(); LinePF = new LineProfile(); }
/* 시퀀스 * 1. string[,] 으로 파일 경로 매트릭스 만들기 * 2. 줌을 하는 파일의 갯수 + 원본 파일의 크기로 스케일 정하기. * 3. 줌하는 영역 계산. (시작하는 파일 끝나는 파일, 각 파일별로 시작 끝점 계산) * 4. 각 영역의 데이터를 매트릭스로 가져온다. * 5. 각 영역의 데이터 매트릭스를 리스케일링 한다. * 6. 각 영역의 리스케일링 된 매트릭스를 합친다. * 7. 합쳐진 매트릭스를 비트맵소스로 변환한다. */ private async void canvRoot_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait; ZoomClass zom = new ZoomClass(); StitchMatrix smat = new StitchMatrix(); canvRoot.Children.Remove(rect); #region Zoom if ((Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)) && CtrlPushed == true) { txbZoomStatus.Text = "Busy"; endPoint = e.GetPosition(canvRoot); imgzommed.Source = await Mainmod.StartZoom(startPoint, endPoint); txbZoomStatus.Text = "Ready"; rbtnZoomGray.IsChecked = true; } #endregion #region Line Profile if ((Keyboard.IsKeyDown(Key.LeftAlt) || Keyboard.IsKeyDown(Key.RightAlt)) && AltPushed == true) { txbZoomStatus.Text = "Busy"; endLinePoint = e.GetPosition(canvRoot); byte[] result = await Mainmod.AsyStartProfile(startLinePoint, endLinePoint); AltPushed = false; await Task.Run((Action)(() => lineProChart.Dispatcher.BeginInvoke((Action)(() => AsySetLineValue(Arr2List(result), seriesbox))))); txbZoomStatus.Text = "Ready"; } #endregion Mouse.OverrideCursor = null; }