/// <summary> /// 按住鼠标左键,拖动图片平移 /// </summary> /// <param name="p"></param> private void MouseMoveCommand(object[] p) { object sender = p[0]; MouseEventArgs e = p[1] as MouseEventArgs; System.Windows.Controls.Image img = sender as System.Windows.Controls.Image; if (e.LeftButton == MouseButtonState.Pressed && sender == movingObject) { EndPosition = e.GetPosition(img); TransformGroup tg = img.RenderTransform as TransformGroup; var tgnew = tg.CloneCurrentValue(); if (tgnew != null) { TranslateTransform tt = tgnew.Children[0] as TranslateTransform; var X = EndPosition.X - StartPosition.X; var Y = EndPosition.Y - StartPosition.Y; tt.X += X; tt.Y += Y; } // 重新给图像赋值Transform变换属性 img.RenderTransform = tgnew; } }
private void s_ValueChanged5(object sender, RoutedPropertyChangedEventArgs <double> e) { Canvas canva = ((tabs.SelectedItem as TabItem).Content as StackPanel).Children[0] as Canvas; foreach (Image a in canva.Children.OfType <Image>()) { if (a.Name == (sender as Slider).Name) { a.RenderTransform = trGrp; //trRot.Angle = (sender as Slider).Value; trSkw.AngleY = (sender as Slider).Value; //trGrp2 = 0; trRot2 = trRot.CloneCurrentValue(); trGrp2 = trGrp.CloneCurrentValue(); a.RenderTransform = trGrp2; break; } } //throw new NotImplementedException(); }
/// <summary> /// 图片右转 /// </summary> /// <param name="img">被操作的前台Image控件</param> public void RotateRight(System.Windows.Controls.Image img) { TransformGroup tg = img.RenderTransform as TransformGroup; var tgnew = tg.CloneCurrentValue(); if (tgnew != null) { RotateTransform rt = tgnew.Children[2] as RotateTransform; img.RenderTransformOrigin = new System.Windows.Point(0.5, 0.5); rt.Angle += 5; } // 重新给图像赋值Transform变换属性 img.RenderTransform = tgnew; }
private void MinZoomHandle() { TransformGroup tg = ZoomGrid.RenderTransform as TransformGroup; var tgnew = tg.CloneCurrentValue(); if (tgnew != null) { ScaleTransform st = tgnew.Children[0] as ScaleTransform; ZoomGrid.RenderTransformOrigin = new Point(0.5, 0.5); if (st.ScaleX >= 0.2) { st.ScaleX -= 0.05; st.ScaleY -= 0.05; } else if (st.ScaleX <= -0.2) { st.ScaleX += 0.05; st.ScaleY -= 0.05; } } // 重新给图像赋值Transform变换属性 ZoomGrid.RenderTransform = tgnew; }