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

VB.NET Discussion :

Optimiser le scroll d'une grosse image


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 57
    Points : 43
    Points
    43
    Par défaut Optimiser le scroll d'une grosse image
    Bonjour,

    Je cherche à faire "scroller" une image dans un contrôle. Je pense avoir le code qu'il faut mais il manque cruellement de performances etant donné que j'utilise une grosse image (une carte du monde).
    J'ai sur une forme (form1) un contrôle panel (panel1) qui contient un picture box (picturebox1). Le panel1 a la propriété autoscroll.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim bmpWorld As Bitmap = New Bitmap("monfichier.jpg")
    Dim g1 As Graphics = Graphics.FromImage(bmpWorld)
    Picture1.image=bmpWorld
    Déjà, avec ça quand j'utilise les scrollbars l'affichage a du mal à suivre. Mais le pire c'est quand je déclenche une procédure de "scrolling" automatique, qui me permettrais de déplacer l'image automatiquement à partir d'un évenement (genre quand la souris passe sur une zone de la carte) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        Sub PanLeft()
            Dim start As Single
            Dim Point1 As Drawing.Point = Panel1.AutoScrollPosition
            Panning = True
            While Panning
                start = CSng(Timer)
                While CSng(Timer) < start + 0.1
                    Application.DoEvents()
                End While
                Point1.X += 10
                Panel1.AutoScrollPosition = Point1
            End While
        End Sub
    J'ai mis un timer pour contrôler la vitesse de défilement, mais en fait il ne sert à rien car le scrolling est beaucoup trop lent.
    Comment faire pour optimiser cela? J'ai quelques idées mais je voudrais l'avis d'experts qui auraient déjà expérimenté la dessus... Merci.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    garde ton image en mémoire, ajoute les scrollbars tout seul
    et peint seulement la partie qu'il faut
    drawimage (qu'on trouve sur graphics) possède 30 surcharge dont une ou deux qui servent à dire je veux tel morceau d'image à tel endroit

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Bonsoir,

    Citation Envoyé par sperot51 Voir le message
    drawimage (qu'on trouve sur graphics) possède 30 surcharge dont une ou deux qui servent à dire je veux tel morceau d'image à tel endroit
    Il y en a tellement qu'à chaque fois je me plante sur une signature de la méthode :/

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    celle avec image, sourceRectangle,destRectangle , etc...

Discussions similaires

  1. x images sur une grosse image.
    Par kaking dans le forum Langage
    Réponses: 2
    Dernier message: 25/03/2011, 10h06
  2. image de chargement avant de charger une grosse image
    Par CocoLeNain dans le forum jQuery
    Réponses: 1
    Dernier message: 03/03/2010, 20h15
  3. Impression d'une grosse image vers un pdf
    Par JoSii dans le forum C#
    Réponses: 7
    Dernier message: 26/08/2008, 11h12
  4. [HTML] Afficher une grosse image avec zoom
    Par Amadou31 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 08/11/2007, 11h52

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