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

IHM Discussion :

Rotation d'image dans un état


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 76
    Points : 45
    Points
    45
    Par défaut Rotation d'image dans un état
    Bonjour
    J'importe des images dans un état par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.imgPhoto.Picture = CurrentProject.Path & "\Images\Sans-photo.jpg"
    Ces images sont rectangulaires et peuvent avoir une présentation verticale ou horizontale.
    Est-il possible de faire pivoter les images verticales d'un quart de tour afin d'éviter qu'elles soient comprimées en hauteur ?
    Merci pour vos réponses

  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 526
    Points
    14 526
    Par défaut
    Slt,

    Si c'est vraiment important tu peux essayer avec la classe clImage
    cf :
    http://arkham46.developpez.com/artic...ge/tutosimple/

    Je pense qu'il faudrait faire un peu comme dans le tuto et charger l'image dans la liste d'images, en appliquant en plus une transformation de rotation
    Puis dessiner l'image sur toute la taille du contrôle.
    Bon ça fait peur mais c'est pas si compliqué, une fois le tuto digéré.

    En tout cas c'est faisable mais je ne vois que la classe clImage pour retourner une image, ou alors un activeX peut-être mais est-ce qu'il en existe un?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 76
    Points : 45
    Points
    45
    Par défaut
    Merci pour cette réponse
    Je vais bien regarder le tuto et me jeter à l'eau (à première vue, ça parait un peu compliqué pour une débutant).

  4. #4
    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 526
    Points
    14 526
    Par défaut
    Slt,

    J'ai essayé ça donne ça :
    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
    Option Compare Database
    Option Explicit
    
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
        Dim clImg As ClImage
        Dim lImgWidth As Long, lImgHeight As Long
        If FormatCount = 1 Then
            ' Initialise la classe Image
            Set clImg = New ClImage
            ' Initialisation du contrôle image
            clImg.SetImgCtrl Me.ImgPhoto
            ' On remplit l'image de la couleur de fond de l'état
            clImg.FillColor Me.Section(acDetail).BackColor
            ' Limite la taille de l'image chargée à la largeur du contrôle
            ' (gain de mémoire et de temps d'exécution pour la rotation)
            lImgWidth = Me.ImgPhoto.Width
            ' Chargement de l'image (avec miniature EXIF si elle existe)
            clImg.ImageListAdd "Photo", Me.fichier.Value, lImgWidth, lImgHeight, , , , True
            ' Dessine l'image
            ' Si l'image est verticale on la tourne de 90 degrés vers la gauche
            clImg.PaintImage "Photo", 0, 0, Me.ImgPhoto.Width, Me.ImgPhoto.Height, , _
                             Me.ImgPhoto.SizeMode, Me.ImgPhoto.PictureAlignment, , , _
                             IIf(lImgHeight > lImgWidth, "ROTATELEFT", Null)
            ' Supprimer l'image après l'avoir dessinée
            clImg.ImageListDel "Photo"
            ' Applique les changements dans le contrôle image
            clImg.Repaint
            ' Libère la classe Image
            Set clImg = Nothing
        End If
    End Sub
    Avec :
    ImgPhoto : le contrôle image
    fichier : un contrôle qui contient le nom du fichier

    N'hésite pas à dire si tu rencontres des difficultés, des bugs, ... ou si ça marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher une image dans un état
    Par Invité1 dans le forum IHM
    Réponses: 8
    Dernier message: 23/09/2009, 14h59
  2. Afficher une image dans un état
    Par louis_figos dans le forum IHM
    Réponses: 5
    Dernier message: 09/03/2006, 11h09
  3. Images dans des états
    Par eric.c dans le forum IHM
    Réponses: 2
    Dernier message: 01/03/2006, 15h44
  4. Image dans un état
    Par pobrouwers dans le forum IHM
    Réponses: 2
    Dernier message: 06/01/2006, 21h57
  5. Réponses: 1
    Dernier message: 17/06/2005, 09h41

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