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

VBA Access Discussion :

Gestion du Zoom avec le source d'Arkham sur GdiPlus


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 56
    Points : 28
    Points
    28
    Par défaut Gestion du Zoom avec le source d'Arkham sur GdiPlus
    Bonjour,

    Par rapport à une source d’Arkham, je rencontre des problèmes pour que l’image courante occupe progressivement l’ensemble du contrôle. J’ai toujours des zones des contrôles qui restent visibles. J’ai essayé des dizaines de procédures sans parvenir au résultat.


    Merci pour vos conseils

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Bjr,

    J'ai fais l'exercice avec le zoom
    Y a plus qu'à faire la même chose avec le dé-zoom

    Pour la précision du zoom, il faut déclarer gZoom en doble ou single, et bien faire attention au signe de divisions (l'opérateur \ ne conserve pas les décimales)

    Code : 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    '--------------------------------------
    ' Zoom sur l'image
    '--------------------------------------
    Private Sub BtnZoomIn_Click()
    Dim lLeft As Long, lTop As Long ', lWidth As Long, lHeight As Long
     
    '*** Code de la source du forum ***
    ' ajoute 1 au facteur de zoom
    'gZoom = gZoom + 1
    ' recalcul les dimensions de l'image
    'gWidth = gWidthOrig \ gZoom
    'gHeight = gHeightOrig \ gZoom
    ' rétablit l'image d'origine
    'ClGDIP.ResetImage
    ' découpe l'image par rapport au centre qui ne change pas
    'ClGDIP.CropImage gCenterX - gWidth / 2, gCenterY - gHeight / 2, gWidth, gHeight
    ' Mise à jour de l'image
    'Me.Image0.PictureData = ClGDIP.GdiPlusToPictureData
    '***********************************
     
    '*** Code proposé par Arkham
    ' ajoute 1 au facteur de zoom
    gZoom = gZoom + 0.1                         '*** J'essaie ici d'avoir une meilleure précision du zoom, sans succès (j'ai aussi essayé de déclarer gzoom as double,
                                                '*** gzoom prend bien la virgule mais l'image courante ne renvoie pas qu'une image zoomée par à-coups)
    ' recalcul les dimensions de l'image
    If gWidthOrig > gHeightOrig Then
    ' Cas d'une image en paysage
        gWidth = gWidthOrig / gZoom
        gHeight = gWidth
    Else
    ' Cas d'une image en portrait
        gHeight = gHeightOrig / gZoom
        gWidth = gHeight
    End If
    ' Limite la taille à la taille d'origine
    If gHeight > gHeightOrig Then gHeight = gHeightOrig
    If gWidth > gWidthOrig Then gWidth = gWidthOrig
    ' Décalage à gauche et à droite
    lLeft = (gWidthOrig - gWidth) / 2
    lTop = (gHeightOrig - gHeight) / 2
    ' Rétablit l'image d'origine
    ClGDIP.ResetImage
    ' Découpe l'image
    ClGDIP.CropImage lLeft, lTop, gWidth, gHeight
    ' Mise à jour de l'image
    Me.Image0.PictureData = ClGDIP.GdiPlusToPictureData
    Me.Image1.PictureData = ClGDIP.GdiPlusToPictureData
    Me.Image2.PictureData = ClGDIP.GdiPlusToPictureData
    End Sub

Discussions similaires

  1. Gestion de formulaire avec xml et sans serveur ?
    Par meliane dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 05/05/2004, 19h57
  2. [Eclipe 2.1.1]Projet avec fichiers sources existants
    Par mfofana dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 26/02/2004, 05h20
  3. probleme de gestion de clients avec des sockets....
    Par ludvo dans le forum Réseau
    Réponses: 6
    Dernier message: 25/09/2003, 12h37
  4. [TFrame] Problème de gestion du OnMouseDown avec une Frame
    Par xherault dans le forum Composants VCL
    Réponses: 5
    Dernier message: 23/05/2003, 15h35
  5. Zoom avec du TJPEG
    Par Thylia dans le forum C++Builder
    Réponses: 3
    Dernier message: 17/06/2002, 16h03

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