public override void _presenter_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { //timeCount.Reset(); //timeCount.Start(); _inkCanvas.CaptureMouse(); _startPoint = e.GetPosition(_inkCanvas); _prePoint = _startPoint; //inkCanvasSpiralSummarizationMargin = ((InkCanvas)_inkCanvas.Children[0]).Margin; //_startPoint.X -= inkCanvasSpiralSummarizationMargin.Left; // _startPoint.Y -= inkCanvasSpiralSummarizationMargin.Top; //记录操作类型与持续时间 recordOperateTrace("DOWN..........................................Down"); downTime = System.DateTime.Now; //if (videoSummarization == null || videoSummarization != _inkCollector.VideoSummarization) //{ // this.videoSummarization = _inkCollector.VideoSummarization; //} startIndex = VideoSummarization.getSelectedKeyFrameIndex(_startPoint);//, videoSummarization); if (mouseGesture == null && _inkCollector.DefaultSummarizationNum == 0) { createGesture(); } if (_inkCollector.DefaultSummarizationNum == 0) { mouseGesture.StartCapture((int)_startPoint.X, (int)_startPoint.Y); } if (moveStroke != null) { _inkCanvas.Strokes.Remove(moveStroke); moveStroke = null; } }
public override void _presenter_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { _inkCanvas.CaptureMouse(); _startPoint = e.GetPosition(_inkCanvas); //记录操作类型与持续时间 //this.spiralSummarization = _inkCollector.SpiralSummarization; //_inkCollector.KeyFrames = _inkCollector.SpiralSummarization.KeyFrames; inkCanvasSpiralSummarizationMargin = ((InkCanvas)_inkCanvas.Children[0]).Margin; //纠正,在全屏时不纠正就会出错 _startPoint.X -= inkCanvasSpiralSummarizationMargin.Left; _startPoint.Y -= inkCanvasSpiralSummarizationMargin.Top; startIndex = videoSummarization.getSelectedKeyFrameIndex(_startPoint);//, spiralSummarization); if (startIndex != int.MinValue) { this.selectKeyFrameCenterPoint = videoSummarization.ShowKeyFrameCenterPoints[startIndex]; selectKeyFrame = videoSummarization.ShowKeyFrames[startIndex]; } }
public override void _presenter_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { _inkCanvas.CaptureMouse(); _startPoint = e.GetPosition(_inkCanvas); _prePoint = _startPoint; //记录操作类型与持续时间 recordOperateTrace("TapestryDOWN"); downTime = System.DateTime.Now; startIndex = VideoSummarization.getSelectedKeyFrameIndex(_startPoint); }
//增加滚轴事件,为显示不同级别的聚类关键帧 void _inkCanvas_MouseWheel(object sender, MouseWheelEventArgs e) { if (GlobalValues.PartitionShowTypeNo == 0) { Point point = e.GetPosition(_inkCanvas); int currIndex = VideoSummarization.getSelectedKeyFrameIndex(point); List <int> distance1BunchNo = ((SpiralSummarization)videoSummarization).getDistanceBunchNo(currIndex); //处理滚轴事件 //int currBunchNo = videoSummarization.ShowKeyFrames[currIndex].BunchNo; if (e.Delta < 0)//向下滚动 { for (int i = 0; i < videoSummarization.ShowKeyFrames.Count; i++) { if (distance1BunchNo.IndexOf(videoSummarization.ShowKeyFrames[i].BunchNo) != -1) { videoSummarization.ShowKeyFrames[i].Image.Visibility = Visibility.Visible; videoSummarization.ShowKeyFrames[i].GrayImage.Visibility = Visibility.Hidden; } } } else { for (int i = 0; i < videoSummarization.ShowKeyFrames.Count; i++) { if (distance1BunchNo.IndexOf(videoSummarization.ShowKeyFrames[i].BunchNo) != -1) { videoSummarization.ShowKeyFrames[i].Image.Visibility = Visibility.Hidden; videoSummarization.ShowKeyFrames[i].GrayImage.Visibility = Visibility.Visible; } } } } else { if (e.Delta < 0)//向下滚动 { ((SpiralSummarization)videoSummarization).showDistance1(); } else { ((SpiralSummarization)videoSummarization).hiddenDistance1(); } } }
public override void _presenter_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { _inkCanvas.CaptureMouse(); _startPoint = e.GetPosition(_inkCanvas); _prePoint = _startPoint; //记录操作类型与持续时间 recordOperateTrace("DOWN"); downTime = System.DateTime.Now; startIndex = VideoSummarization.getSelectedKeyFrameIndex(_startPoint);//, videoSummarization); if (startIndex == int.MinValue && mouseGesture == null) { createGesture(); } if (startIndex == int.MinValue) { mouseGesture.StartCapture((int)_startPoint.X, (int)_startPoint.Y); } if (moveStroke != null) { _inkCanvas.Strokes.Remove(moveStroke); moveStroke = null; } }
public override void _presenter_MouseMove(object sender, System.Windows.Input.MouseEventArgs e) { //if (videoSummarization == null || videoSummarization != _inkCollector.VideoSummarization) //{ // this.videoSummarization = _inkCollector.VideoSummarization; //} //startIndex = VideoSummarization.getSelectedKeyFrameIndex(_startPoint);//, customSummarization); if (this.VideoSummarizationControl == null) { VideoPlayTimer = new System.Windows.Forms.Timer(); VideoPlayTimer.Interval = 1000; VideoPlayTimer.Tick += new System.EventHandler(VideoPlayTimer_Tick); this.VideoSummarizationControl = _inkCollector._mainPage.VideoSummarizationControl; VideoPlayTimer.Start(); } if (_startPoint.X == 0 && _startPoint.Y == 0) { _currPoint = e.GetPosition(_inkCanvas); _currPoint.X -= inkCanvasSpiralSummarizationMargin.Left; _currPoint.Y -= inkCanvasSpiralSummarizationMargin.Top; currIndex = videoSummarization.getSelectedKeyFrameIndex(_currPoint); //记录操作类型与持续时间 recordOperateTrace("MOVE"); if (currIndex != int.MinValue && currIndex < videoSummarization.ShowKeyFrames.Count && currIndex != preIndex && _inkCollector.IsShowUnbrokenKeyFrame) { moveTimerSecond = 0; MoveTimer.Start(); clearPreMessage(); Image currImage = InkConstants.getImageFromName(videoSummarization.ShowKeyFrames[currIndex].ImageName);// videoSummarization.ShowKeyFrames[currIndex].convertToNewKeyFrame().Image; left = videoSummarization.ShowKeyFrames[currIndex].Image.Margin.Left; top = videoSummarization.ShowKeyFrames[currIndex].Image.Margin.Top; //left += inkCanvasSpiralSummarizationMargin.Left; //top += inkCanvasSpiralSummarizationMargin.Top; if (_inkCollector.DefaultSummarizationNum == 1) { top += videoSummarization.InkCanvas.Margin.Top; top -= 10; } currImage.Margin = new Thickness(left, top, 0, 0); currImage.Width = 150; // videoSummarization.ShowKeyFrames[currIndex].Image.Width; currImage.Height = 100; // videoSummarization.ShowKeyFrames[currIndex].Image.Height; if (_inkCollector.DefaultSummarizationNum == 1 && !((TileSummarization)videoSummarization).Protect) { ; } else { _inkCanvas.Children.Add(currImage); } preImage = currImage; preIndex = currIndex; } else if (currIndex == int.MinValue) { if (preImage != null) { _inkCanvas.Children.Remove(preImage); } moveTimerSecond = 0; } //显示移动轨迹 if (moveStroke != null) { moveStroke.StylusPoints.Add(new StylusPoint(_currPoint.X, _currPoint.Y)); if (moveStroke.StylusPoints.Count > 300) { moveStroke.StylusPoints.RemoveAt(0); } } else { StylusPointCollection spc = new StylusPointCollection(); spc.Add(new StylusPoint(_currPoint.X, _currPoint.Y)); moveStroke = new Stroke(spc); moveStroke.DrawingAttributes.Color = Colors.Transparent; moveStroke.DrawingAttributes.Width = 3; moveStroke.DrawingAttributes.Height = 3; _inkCanvas.Strokes.Add(moveStroke); } } else { _currPoint = e.GetPosition(_inkCanvas); if (_inkCollector.DefaultSummarizationNum == 0) { mouseGesture.Capturing((int)_currPoint.X, (int)_currPoint.Y); } else if (_inkCollector.DefaultSummarizationNum == 1) { clearPreMessage(); moveTimerSecond = 0; double top = videoSummarization.InkCanvas.Margin.Top + _currPoint.Y - _prePoint.Y; //if (left <= 0 && left >VideoSummarizationControl.summarization._inkCanvas.ActualWidth -tapestrySummarization.Width ) //{ videoSummarization.InkCanvas.Margin = new Thickness(videoSummarization.InkCanvas.Margin.Left, top, 0, 0); } _prePoint = _currPoint; //记录操作类型与持续时间 recordOperateTrace("MOVE"); } }
public override void _presenter_MouseMove(object sender, System.Windows.Input.MouseEventArgs e) { if (this.VideoSummarizationControl == null) { this.VideoSummarizationControl = _inkCollector._mainPage.VideoSummarizationControl; } if (_startPoint.X == 0 && _startPoint.Y == 0) { _currPoint = e.GetPosition(_inkCanvas); _currPoint.X -= inkCanvasSpiralSummarizationMargin.Left; _currPoint.Y -= inkCanvasSpiralSummarizationMargin.Top; currIndex = videoSummarization.getSelectedKeyFrameIndex(_currPoint); //记录操作类型与持续时间 recordOperateTrace("MOVE"); if (currIndex != int.MinValue && currIndex != preIndex && _inkCollector.IsShowUnbrokenKeyFrame) { moveTimerSecond = 0; MoveTimer.Start(); clearPreMessage(); currIndex = currIndex >= videoSummarization.ShowKeyFrames.Count ? videoSummarization.ShowKeyFrames.Count - 1 : currIndex; currIndex = (currIndex == -1 ? 0 : currIndex); Image currImage = InkConstants.getImageFromName(videoSummarization.ShowKeyFrames[currIndex].ImageName); currImage.Width = 300; currImage.Height = 200; currImage.Margin = new Thickness((VideoSummarizationControl.summarization._inkCanvas.ActualWidth - currImage.Width) / 2, 200, 0, 0); tapestrySummarization.ParentInkcanvas.Children.Add(currImage); preImage = currImage; preIndex = currIndex; } else if (currIndex == int.MinValue) { if (preImage != null) { _inkCanvas.Children.Remove(preImage); } moveTimerSecond = 0; } //显示移动轨迹 if (moveStroke != null) { moveStroke.StylusPoints.Add(new StylusPoint(_currPoint.X, _currPoint.Y)); if (moveStroke.StylusPoints.Count > 300) { moveStroke.StylusPoints.RemoveAt(0); } } else { StylusPointCollection spc = new StylusPointCollection(); spc.Add(new StylusPoint(_currPoint.X, _currPoint.Y)); moveStroke = new Stroke(spc); moveStroke.DrawingAttributes.Color = Colors.Transparent; moveStroke.DrawingAttributes.Width = 3; moveStroke.DrawingAttributes.Height = 3; _inkCanvas.Strokes.Add(moveStroke); } } else { _currPoint = e.GetPosition(_inkCanvas); if (startIndex != int.MinValue && _currPoint.X > 0) { left = videoSummarization.InkCanvas.Margin.Left + _currPoint.X - _prePoint.X; //if (left <= 0 && left >VideoSummarizationControl.summarization._inkCanvas.ActualWidth -tapestrySummarization.Width ) //{ videoSummarization.InkCanvas.Margin = new Thickness(left, videoSummarization.InkCanvas.Margin.Top, 0, 0); //} if (left > 0) { left = 0; timebar.Show_EndTime = VideoSummarizationControl.summarization._inkCanvas.ActualWidth - videoSummarization.InkCanvas.Margin.Left; } else if (left < -tapestrySummarization.Width + VideoSummarizationControl.summarization._inkCanvas.ActualWidth) { left = videoSummarization.InkCanvas.Margin.Left; timebar.Show_EndTime = -left + tapestrySummarization.Width + videoSummarization.InkCanvas.Margin.Left; } else { timebar.Show_EndTime = -left + VideoSummarizationControl.summarization._inkCanvas.ActualWidth; } timebar.Show_StartTime = -left; // timebar.Show_EndTime = -left + VideoSummarizationControl.summarization._inkCanvas.ActualWidth; timebar.computeLocation(); _prePoint = _currPoint; } if (startIndex == int.MinValue && mouseGesture != null) { mouseGesture.Capturing((int)_currPoint.X, (int)_currPoint.Y); } //记录操作类型与持续时间 recordOperateTrace("MOVE"); } }