Expression > Forums Home > Related Technologies Forums > Deep Zoom Composer > How to limit how far one can zoom in & out
Ask a questionAsk a question
 

AnswerHow to limit how far one can zoom in & out

  • Monday, June 15, 2009 5:55 AMRadeldudel Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Has Code

    Is there a way to limit how far the viewer can zoom into or out of the picture?

    I would like to stop the zooming in when the viewer reaches the pixel level, and the zooming out to the size of the picture.

    To be able to zoom until the picture content either looks blurry or is small on the screen is not very appealing to me.

    Is there a way to achieve this, to limit the zoom range?

    kind regards,
    Sam

Answers

  • Tuesday, June 16, 2009 4:02 AMBaruni Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     AnswerHas Code
    You can change the code in the page.xaml.cs file. I'm not sure if there are other ways of setting it but this is how I set it:

    In the example below, the zoom level is set between 0.45 and 128


            private void Zoom(double newzoom, Point p)
            {
                if (newzoom < 0.45)
                {
                    newzoom = 0.45;
                }
                if (newzoom > 128)
                {
                    newzoom = 128;
                }
    
                msi.ZoomAboutLogicalPoint(newzoom / zoom, p.X, p.Y);
                zoom = newzoom;
            }
    
    • Marked As Answer byRadeldudel Tuesday, June 16, 2009 6:45 AM
    •  

All Replies

  • Tuesday, June 16, 2009 4:02 AMBaruni Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     AnswerHas Code
    You can change the code in the page.xaml.cs file. I'm not sure if there are other ways of setting it but this is how I set it:

    In the example below, the zoom level is set between 0.45 and 128


            private void Zoom(double newzoom, Point p)
            {
                if (newzoom < 0.45)
                {
                    newzoom = 0.45;
                }
                if (newzoom > 128)
                {
                    newzoom = 128;
                }
    
                msi.ZoomAboutLogicalPoint(newzoom / zoom, p.X, p.Y);
                zoom = newzoom;
            }
    
    • Marked As Answer byRadeldudel Tuesday, June 16, 2009 6:45 AM
    •