Esempio n. 1
0
 public MainModule()
 {
     EvtList  = new List <List <EventClass> >();
     ZomClass = new ZoomClass();
     scalData = new ScaleData();
     ConData  = new ControlData();
     LinePF   = new LineProfile();
 }
Esempio n. 2
0
        /* 시퀀스
         * 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;
        }