Exemple #1
0
        /// <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();
        }
Exemple #3
0
        /// <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;
        }
Exemple #4
0
        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;
        }