IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Phone .NET Discussion :

définir un max pour le Pinch-to-Zoom


Sujet :

Windows Phone .NET

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 129
    Points : 45
    Points
    45
    Par défaut définir un max pour le Pinch-to-Zoom
    Bonjour,

    Après de longue recherche, je n'arrive pas à bien maitriser les détails du zoom..
    J'arrive à définir les événements à l'aide du toolkit gestureService mais l'utilisateur peut zoomer sur l'image indéfiniment et vice versa.
    De ce fait, en utilisant un stackpanel, l'image peut se "balader" à gauche ou à droite de l’écran hors de l’écran. (Embêtant quand même... )

    Je voudrais que vous m'aiguilliez sur comment mettre un zoom (rendertransform) minimum et maximum et comment faire pour que tout niveau de zoom, je puisse voir entièrement l'image sur l'écran (en navigant dans le stackpanel bien sur)

    Merci

    PS mon code Xaml :
    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
            <ListBox ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" Name="listBox1" Margin="12,102,0,0">
                <ListBox.ItemsPanel>
                    <ItemsPanelTemplate>
                        <StackPanel Orientation="Horizontal" UseLayoutRounding="False" Width="1000" Height="1000" HorizontalAlignment="Center" VerticalAlignment="Center" MaxHeight="1000" MaxWidth="1000"></StackPanel>
                    </ItemsPanelTemplate>
                </ListBox.ItemsPanel>
                    <Image Height="398" HorizontalAlignment="Left" Margin="10,60,0,0" Name="image1" Stretch="UniformToFill" VerticalAlignment="Top" CacheMode="BitmapCache" Width="444" Source="/MetroLille;component/Images/Metro_tram_Lille.jpg" MaxHeight="700" MaxWidth="700" MinHeight="300">
                    <Image.RenderTransform>
                        <CompositeTransform x:Name="transform" ScaleX="1" ScaleY="1" />
                    </Image.RenderTransform>
                    <toolkit:GestureService.GestureListener>
                        <toolkit:GestureListener PinchStarted="OnPinchStarted" PinchDelta="OnPinchDelta" />
                    </toolkit:GestureService.GestureListener>
                </Image>
            </ListBox>

    Et C# :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     private void OnPinchStarted(object sender, PinchStartedGestureEventArgs e)
            {
                initialScale = transform.ScaleX;
            }
     
            private void OnPinchDelta(object sender, PinchGestureEventArgs e)
            {
                if (transform.ScaleX <= 1.7) // -> Test de la limite du zoom
                {
                    transform.ScaleX = initialScale * e.DistanceRatio;
                }
     
                if (transform.ScaleY <= 1.7) // -> Test de la limite du zoom
                {
                    transform.ScaleY = initialScale * e.DistanceRatio;
                }

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 57
    Points : 65
    Points
    65
    Par défaut
    Tu peux aussi n'autoriser le zoom/dézoom qu'à partir d'une dimension minimale/maximale de l'image.

    Si par exemple la hauteur est au dessus de 1000pixels tu ne fait rien

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 129
    Points : 45
    Points
    45
    Par défaut
    Oui j'y avais pensé mais le fait est qu'on ne touche pas aux dimensions de l'image en fait ^^
    J'ai dans un premier définis les dimensions maximales (maxHeight et maxWidth) dans les propriétés de l'image => Rien changé
    Puis j'ai définis dans le code, avec des "if" des dimensions maximales nomdemonimage.height < 200 par exemple et ça ne marche pas non plus.

    Je pense que comme j’opère via un renderTransform il ne change pas vraiment les dimensions de l'image.. enfin j'en sais rien.. je comprend pas très bien ^^

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 129
    Points : 45
    Points
    45
    Par défaut
    Ensuite, j'ai eu une idée, peut on mettre une image dans un webBrowser?
    • Soit en rentrant une URL et au chargement de la form le telephone ira chercher sur le net l'image et l'affichera dans le webbrowser (plus besoin de gerer le zoom car le webBrowser le gère tout seul)

    • Soit en définissant l'image directement dans le control webbrowser.


    Dans les deux cas je cherche toujours mais un conseil ou une orientation serait la bienvenue =)
    Merci

Discussions similaires

  1. Taille max pour un String
    Par arasium dans le forum Langage
    Réponses: 9
    Dernier message: 16/06/2006, 08h14
  2. Réponses: 3
    Dernier message: 20/05/2006, 20h46
  3. [Stratégie] taille de tableau max pour alleger les ressources systemes
    Par ceres02 dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 24/02/2006, 19h06
  4. [CSS]Définir une taille pour chaque police
    Par Davboc dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 27/12/2005, 18h32
  5. [Tomcat] définir un port pour une application
    Par Mrlud dans le forum Tomcat et TomEE
    Réponses: 10
    Dernier message: 14/06/2005, 17h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo