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 :

Insérer une Image JPG


Sujet :

C++Builder

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Insérer une Image JPG
    Je veux insérer une image JPG puis lorsque je déplace la souris (OnMouseMove),
    J’affiche ses propriétés RGB.

  2. #2
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut
    Tous d'abord bienvenue
    Tu veux certainement dire que tu veux afficher les valeurs RGB de la couleur se situant sous la souris...

    Tu places un composant TImage qui vas contenir ton image.
    Il existe un evenement OnMousseMove lier a ce composant qui te permet de connaitre la position de la souris sur ce composant (X et Y entiers).
    ensuite tu fais correspondre cette position de souris avec un pixel de ton image.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    bonjour

    c bon pour l'affichage, mais lorsque je déplace la souris sur cette image elle disparait. en plus lorsque c'est un bitmap c possible d'afficher les propriétés RGB, mais quand c JPG c difficile, il m'affiche un message d'erreur.

  4. #4
    Membre habitué

    Profil pro
    Cadre
    Inscrit en
    Mars 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre

    Informations forums :
    Inscription : Mars 2006
    Messages : 132
    Points : 168
    Points
    168
    Par défaut
    Converti ton JPEG en Bitmap en utilisant la propriété Assign d'un objet TBitmap (Graphics::TBitmap)

  5. #5
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut
    ensuite dans l'evenement OnMouseMove() place les lignes suivantes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Caption="position X =";
    Caption=Caption+IntToStr(X);
    Caption=Caption+" position Y =";
    Caption=Caption+IntToStr(Y);
    tu verras ce que te donne la valeur de X et de Y.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    l'image jpg apparait, j'ai besoin d'afficher les valeurs RGB de l'image par contre pour les coordonnées x et y c fait.

  7. #7
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut
    au moins là c'est clair... on connait reelement ton probleme.
    qu'as tu deja essayer.

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    j'ai essayé sous une image Bitmap et ça marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    AnsiString color;
    color = ColorToString(Image1->Canvas->Pixels[X][Y]);
     
    Label4->Caption = StrToInt64("$" + (color.SubString(4,2))); //pour blue
    Label5->Caption = StrToInt64("$" + (color.SubString(6,2))); //pour green
    Label6->Caption = StrToInt64("$" + (color.SubString(8,2))); //pour red
    mais quand les couleurs ne sont pas affichées en hexa (ex: $0001ff30), il m'affiche un message d'erreur parccequ'il ne reconnait pas clblack, clwhite, ...

    je pense qu'il existe une fonction mais?

  9. #9
    Membre du Club

    Inscrit en
    Août 2002
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 24
    Points : 52
    Points
    52
    Par défaut
    Hello,

    Voici ce que tu recherches, je pense:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
          int X, int Y)
    {
        TColor color = Image1->Canvas->Pixels[X][Y];
     
        BYTE R = GetRValue(color);
        BYTE G = GetGValue(color);
        BYTE B = GetBValue(color);
     
        Label4->Caption = R;
        Label5->Caption = G;
        Label6->Caption = B;
    }
    ps : Attention car le TColor c'est pas du RGB mais plutot du BGR

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    merci beaucoup beaucoup beaucoup c régler

    la solution pour ce qui sont intéressés:

    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
    #include "jpeg.hpp"
     
    //ouvrir une image JPG ou autres
    void __fastcall TForm1::BitBtn1Click(TObject *Sender)
    {
    if(OpenPictureDialog1->Execute())
            Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
     
    Graphics::TBitmap *b = new Graphics::TBitmap();
    b->Assign(Image1->Picture->Graphic);
     
    int w, h;
    w = b->Width;
    h = b->Height;
     
    Image1->Width = w;
    Image1->Height = h;
    Image1->Picture->Assign(b);
     
    delete b;
    }
     
    //afficher les propriétés RGB
    void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
          int X, int Y)
    {
    TColor color = Image1->Canvas->Pixels[X][Y];
     
    BYTE B = GetBValue(color);
    BYTE G = GetGValue(color);
    BYTE R = GetRValue(color);
     
    Label4->Caption = B;
    Label5->Caption = G;
    Label6->Caption = R;
    }

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

Discussions similaires

  1. [JDOM] Comment insérer une image .jpg dans un fichier xml avec JDOM ?
    Par Ardillon dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 05/07/2013, 16h08
  2. Insérer une image JPG dans une table
    Par jjcasalo dans le forum Développement
    Réponses: 7
    Dernier message: 15/01/2009, 15h53
  3. [Tkinter] Insérer une image jpg sur un canvas avec PIL
    Par Kyojimbo dans le forum Tkinter
    Réponses: 2
    Dernier message: 23/02/2006, 17h46
  4. [Crystal Reports 9] comment insérer une image dans Détails
    Par VVE dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 22/10/2003, 18h06
  5. [CR7] Insérer une image dynamiquement
    Par yoloosis dans le forum SAP Crystal Reports
    Réponses: 12
    Dernier message: 28/07/2003, 10h54

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