0

I am adding images in canvas dynamically on button click and translating these images by using following code:

  private void Image_Tap(object sender, System.Windows.Input.GestureEventArgs e)
        {
            Image m = new Image();
            m.Source = (sender as Image).Source;
             m.Height = 110; m.Width = 110; 
            wid = Convert.ToInt16(canvas1.ActualWidth - m.Width);
            hit = Convert.ToInt16(canvas1.ActualHeight - m.Height);
            AddManipulableElement(m);

        }


        private void AddManipulableElement(UIElement element)
        {
            ManipulableContainer container = new ManipulableContainer();
            container.Content = element;
            canvas1.Children.Add(container);

        }



     public class ManipulableContainer : ContentControl
        {
            private CompositeTransform _transform;

            public ManipulableContainer()
            {
                this.Loaded += ManipulableContainer_Loaded;
            }

            private void ManipulableContainer_Loaded(object sender, EventArgs e)
            {
                _transform = new CompositeTransform();
                this.RenderTransform = _transform;


     }


            protected override void OnManipulationStarted(ManipulationStartedEventArgs e)
            {
                base.OnManipulationStarted(e);
                e.Handled = true;
            }

            protected override void OnManipulationDelta(ManipulationDeltaEventArgs e)
            {
                base.OnManipulationDelta(e);


                _transform.TranslateX += e.DeltaManipulation.Translation.X;
                _transform.TranslateY += e.DeltaManipulation.Translation.Y;
                if (_transform.TranslateX > wid)
                {
                    _transform.TranslateX = wid;
                }
                if (_transform.TranslateY > hit)
                { _transform.TranslateY = hit; }
                if (_transform.TranslateY < 0)
                { _transform.TranslateY = -_transform.TranslateY; }

                if (_transform.TranslateX < 0)
                { _transform.TranslateX = -_transform.TranslateX; }



                e.Handled = true;



            }

            protected override void OnManipulationCompleted(ManipulationCompletedEventArgs e)
            {
                base.OnManipulationCompleted(e);
                e.Handled = true;
            }
        }

Everything is working fine . Now I want to add zoom in/out and rotate function to those images by using fingers .

OneChillDude
  • 7,856
  • 10
  • 40
  • 79
Ahad Siddiqui
  • 331
  • 1
  • 2
  • 13

1 Answers1

0

You can use this library for multiple functions: https://multitouch.codeplex.com

Anyway you can use this post as reference : How to zoom in and zoom out Images in WP7?

Community
  • 1
  • 1