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

C++Builder Discussion :

Image sur une form.


Sujet :

C++Builder

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 80
    Points : 66
    Points
    66
    Par défaut Image sur une form.
    Bonjour a tous,

    voila ma question: comment faire pour afficher une image sur une form,
    et quels formats d'image je peux utiliser (le plus simplement), avec C++-Builder4.

    J'ai lu sur le site que les formats .jpg et .bmp etaient les plus courants...

    Merci d'avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 80
    Points : 66
    Points
    66
    Par défaut
    ...une autre question: est-ce que je peux inclure l'image au projet,
    ou est-ce que je suis obliger de l'importer?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2005
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 34
    Points : 36
    Points
    36
    Par défaut
    bonjour à tous
    bon Mr Arthur59 c trés simple d'afficher une image dans une forme .
    Avant tous il faut poser le composant dédier au affichage des image c TImage
    qui se trouve dans anglet Suplément, aprés t'a deux façons d'afficher l'image:
    1- dans l'inspecteur d'objet de TImage tu trouve la propriété Picture = vide tu clique sur les 3 point accoté puis charger et tu n'avigue pour chercher ton image.
    2- là tu le fait à l'execution de ton projet alors
    tu place un OpenPictureDialog1 (dans l'anglet dialogue) et dans boutton dans ta form tu écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (OpenPictureDialog1->Execute())
    {
    Image1->Picture->LoadFromFile( OpenPictureDialog1->FileName) ; 
    }
    Image1 est le nom de l'objet TImage .bon tu trouve boucoup de chose dans l'aide du builder
    c tous .

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 80
    Points : 66
    Points
    66
    Par défaut
    OK, merci pour cette reponse, je vais tester ca...
    Le format de l'image n'a pas d'importance?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2005
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 34
    Points : 36
    Points
    36
    Par défaut
    bon tu c si tu fait une recherche sur le net tu trouvera beaucoup de def sur la definition des formats d'images.
    jpg est compréssée que bmp c dans la capasité , donc ça influe sur le temps d'éxécution de ton programme dans le chargement.

  6. #6
    Membre éprouvé
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Points : 1 007
    Points
    1 007
    Par défaut
    Le Timage est fait à la base pour supporter un BMP. Il est toutefois possible de charger un jpeg.

    Si cette image doit être en fond de ta Form dès son ouverture et tout le temps, c'est dommage d'utiliser un OpenDialog pour que l'utilisateur charger lui même cette image. Il est possible de charger une image en ressource de ton application, c'est le tips 58 des trucs est astuces.
    Si tu débutes tu peux aller y jeter un oeil, pas mal de sujets y sont développés.

    Beaucoup de composants, de méthode et de résolutions d'anciens problèmes (suites aux questions du forum) figurent aussi dans la FAQ.

    Pour toi, tout dépend de ce que tu recherches, veux tu un BMP ou un JPG ou ca n'a pas d'importance?
    Le BMP est le format le plus standard et facile à charger, mais pèse lourd. Le JPG demandera un peu plus de code, et sera plus léger. Dans tous les cas la solution est simple puisque le code te sera donné:
    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
     
         TJPEGImage *jp = new TJPEGImage();
         Graphics::TBitmap *Bitmap = new Graphics::TBitmap;
     
         if(OpenDialog1->Execute())
         {
           Image1->Picture = NULL;
           Image1->Height  = 401;
           Image1->Width   = 401;
     
           if(ExtractFileExt(OpenDialog1->FileName).LowerCase() == ".jpeg" || ExtractFileExt(OpenDialog1->FileName).LowerCase() == ".jpg")
           {
              jp->LoadFromFile(OpenDialog1->FileName);
              Bitmap->Height = jp->Height;
              Bitmap->Width  = jp->Width;
              Dimensions.x   = jp->Width;
              Dimensions.y   = jp->Height;
     
              if(jp->Height <= Image1->Height && jp->Width <= Image1->Width)
              {//chargerment de l'image taille normale
                  Image1->Width = jp->Width;
                  Image1->Height= jp->Height;
                  Image1->Canvas->Draw(0,0,jp);
                  Image1->Stretch = false;
              }
              else if(jp->Height >= jp->Width)
              {//chargement de l'image redimensionné en gardant les proportions
               //aligné sur sa hauteur
                  Image1->Width = (float)jp->Width/(float)jp->Height*Image1->Height;
                  Bitmap->Canvas->Draw(0,0,jp);
                  Image1->Picture->Bitmap->Assign(Bitmap);
                  Image1->Stretch = true;
              }
              else
              {//chargement de l'image redimensionné en gardant les proportions
               //aligné sur sa largeur
                  Image1->Height= (float)jp->Height/(float)jp->Width*Image1->Width;
                  Bitmap->Canvas->Draw(0,0,jp);
                  Image1->Picture->Bitmap->Assign(Bitmap);
                  Image1->Stretch = true;
              }
           }
           else
           {
              Image1->Picture->LoadFromFile(OpenDialog1->FileName);
           }
           Buffer->Assign(Image1->Picture);
         }
         delete jp;
         delete Bitmap;
    Voici un exemple pour charger depuis un Dialog un bmp ou jpg.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 80
    Points : 66
    Points
    66
    Par défaut
    Merci bandit boy pour ces precieux renseignements.

    Je pencherais plutot pour un .bmp inclus en ressource de l'application.
    Je test ca des demain et je te tiens au courant...

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 80
    Points : 66
    Points
    66
    Par défaut
    ...voila, le tips 58 est exactement ce que je recherchais: un .bmp inclus dans les ressources.
    (Je garde en reserve ton code pour une utilisation ulterieure)
    Ca marche nickel; merci encore.

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

Discussions similaires

  1. Creation d'une Image sur un form
    Par Hlama dans le forum C#
    Réponses: 2
    Dernier message: 28/11/2012, 18h22
  2. Réponses: 1
    Dernier message: 07/07/2009, 11h09
  3. [débutant] problème d'image sur une form
    Par Anthony17 dans le forum Delphi
    Réponses: 3
    Dernier message: 21/11/2006, 14h49
  4. comment Positionner une image sur une autre ?
    Par moumoule17 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 25/11/2004, 16h41

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