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

Composants VCL Delphi Discussion :

A propos de StretchDraw


Sujet :

Composants VCL Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 108
    Points : 89
    Points
    89
    Par défaut A propos de StretchDraw
    Re-bonjour,

    Dans mon soft je dois gérer une image de fond. Elle est de dimension 800*600 en gros (l'application étant programmer en 1024*768 - l'image ne prend pas tout l'écran donc-). Je cherche à l'afficher dans un TImage en tennant compte de la config de l'utilisateur. J'ai donc fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //FormCreate
    ZoomW := Screen.Width / 1024;
    ZoomH := Screen.Height / 768;
    Image1.Height := round(Image1.Height * ZoomH);
    Image1.Width := round(Image1.Width * ZoomW);
    //...ailleurs dans le code:
    Image1.Picture.Bitmap.LoadFromFile(lecteur + Edit1.Text);
    Image1.Canvas.StretchDraw(rect(0, 0, Image1.Width, Image1.Height), image1.Picture.Bitmap);
    L'aide disant que:
    Utilisez la méthode StretchDraw pour dessiner un graphique dans le canevas de telle manière que l'image tienne dans le rectangle spécifié.
    Pourtant une seule des deux dimension est changée (par ex si je passe en 1152*864 la largeur est bonne mais pas la hauteur -trop courte-).

    Donc:
    1)C'est normal?
    2)Que puis-je y faire...

    merci

  2. #2
    Membre expert

    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2004
    Messages
    2 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 123
    Points : 3 256
    Points
    3 256
    Par défaut
    Salut,

    Si tu as un TImage, alors tu peux faire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // Ici tu attribues les dimensions de l'image
    Image1.Height := round(Image1.Height * ZoomH); 
    Image1.Width := round(Image1.Width * ZoomW); 
     
    // .........................
     
    // Permet d'ajusté l'image aux dimensions donnée précédement
    Image1.Stretch := True;
     
    // Eventuellement si le rapport Largeur/Hauteur n'est pas le même
    Image1.Proportional:=True;
     
    Image1.Picture.Bitmap.LoadFromFile(lecteur + Edit1.Text);
    voila,

    a+
    CV :
    - LinkedIn
    - Viadeo

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 108
    Points : 89
    Points
    89
    Par défaut
    Ce n'est pas plutot:
    // Eventuellement si le rapport Largeur/Hauteur n'est pas le même
    Image1.Proportional:=False;
    ??

    En tout cas merci!

  4. #4
    Membre confirmé
    Avatar de lil_jam63
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 447
    Points : 600
    Points
    600
    Par défaut
    Personnelement, si ton image recouvre toute la partie client de ton soft, j'éviterais de passer par un TImage et je copierais l'image directement sur le canvas de la form en utilisant stretchDraw.
    ----------------------------------------------------
    Avant de poster, pensez à utiliser les différents outils à votre disposition:
    Google, la FAQ et le moteur de recherche.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 108
    Points : 89
    Points
    89
    Par défaut
    Je ne savais pas que l'on pouvait faire ça... mais de toutes façons une partie de la Form est utilisée pour pouvoir gérer la vitesse de l'animation et la visualisation d'autre paramètres.

    merci quand meme.

  6. #6
    Membre expert

    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2004
    Messages
    2 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 123
    Points : 3 256
    Points
    3 256
    Par défaut
    Citation Envoyé par cfalcot
    Ce n'est pas plutot:
    // Eventuellement si le rapport Largeur/Hauteur n'est pas le même
    Image1.Proportional:=False;
    exact, désolé...



    Un petit résolu ?
    CV :
    - LinkedIn
    - Viadeo

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 108
    Points : 89
    Points
    89
    Par défaut
    Désoler...

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

Discussions similaires

  1. A propos de Last_insert_id
    Par f-demu01 dans le forum Administration
    Réponses: 2
    Dernier message: 26/03/2003, 08h32
  2. A propos depth buffer
    Par j.yves dans le forum DirectX
    Réponses: 1
    Dernier message: 03/12/2002, 00h41
  3. A propos des modèles d'objet (avec sources)
    Par DevX dans le forum C++Builder
    Réponses: 14
    Dernier message: 01/12/2002, 12h22
  4. Fonctionnement de la compression DivX
    Par Rodrigue dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 20/09/2002, 14h10
  5. A propos du composant DBGrid
    Par _Rico_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/07/2002, 09h18

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