Beispiel #1
0
        private void ViewPort_HMouseMove(object sender, HMouseEventArgsWPF e)
        {
            if (stateView == MODE_ROI_Create)
            {
                return;
            }

            double motionX, motionY;
            double posX, posY;
            double zoomZone;
            int    a = roiManager.mouseMoveROI(e.Column, e.Row);//鼠标经过的index

            if (!mousePressed)
            {
                return;
            }

            if (roiManager != null && (roiManager.activeROIidx != -1) && (dispROI == MODE_INCLUDE_ROI))
            {
                roiManager.mouseMoveAction(e.Column, e.Row);
            }
            else if (stateView == MODE_VIEW_MOVE)
            {
                motionX = ((e.Column - startX));
                motionY = ((e.Row - startY));

                if (((int)motionX != 0) || ((int)motionY != 0))
                {
                    moveImage(motionX, motionY);
                    startX = e.Column - motionX;
                    startY = e.Row - motionY;
                }
            }
            else if (stateView == MODE_VIEW_ZOOMWINDOW)
            {
                HSystem.SetSystem("flush_graphic", "false");
                ZoomWindow.ClearWindow();


                posX     = ((e.Column - ImgCol1) / (ImgCol2 - ImgCol1)) * viewPort.ActualWidth;
                posY     = ((e.Row - ImgRow1) / (ImgRow2 - ImgRow1)) * viewPort.ActualHeight;
                zoomZone = (zoomWndSize / 2) * zoomWndFactor * zoomAddOn;

                ZoomWindow.SetWindowExtents((int)posY - (zoomWndSize / 2),
                                            (int)posX - (zoomWndSize / 2),
                                            zoomWndSize, zoomWndSize);
                ZoomWindow.SetPart((int)(e.Row - zoomZone), (int)(e.Column - zoomZone),
                                   (int)(e.Row + zoomZone), (int)(e.Column + zoomZone));
                repaint(ZoomWindow);

                HSystem.SetSystem("flush_graphic", "true");
                ZoomWindow.DispLine(-100.0, -100.0, -100.0, -100.0);
            }
        }