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 :

Bitmap 256 couleurs [Non suivi]


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut Bitmap 256 couleurs
    Bonjour !

    Quelqu'un peut-il m'expliquer comment accéder à la table de couleurs d'un bitmap 256 couleurs sous BorlandC++.

    Je pense qu'il faut utiliser la propriété "Palette", mais je ne sais pas comment faire. Quelqu'un dispose-t-il d'un exemple sur ce sujet ?

    Merci d'avance.

    Xavier

  2. #2
    Membre émérite
    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
    Par défaut
    Salut,
    Je ne sais pas si c'es que tu cherches, mais sous Borland, tu peux faire Tools => Image Editor, tu tombes sur un "Paint" avec lequel tu as les couleurs du bitmap et tu peux les modifier.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut
    Non, ce n'est effectivement pas ce que je recherche, car je cherche un exemple de programmation.

    J'ai chargé un bitmap avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         pBitmap->LoadFromFile(AS_SourceBmp);
    Je peux en connaitre sa taille avec:
    et
    et j'accède à ses pixels avec:
    mais je n'arrive pas à accéder à la table de couleurs (RGBQUAD,...) qui me permettra de faire la correspondance entre les pixels codés en 8bits et les valeurs RGB (3x8bits).

    Quelqu'un peut-il m'aider ?

    Merci d'avance

  4. #4
    Membre émérite
    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
    Par défaut
    Salut,
    Est ce que cette fonction peut t'aider:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    extern PACKAGE int __fastcall ColorToRGB(TColor Color);
    Tu peux obtenir l'équivalent RGB de la couleur, puis si tu veux obtenir ensuite le liens entre la couleur et sa valeur RGB, tu peux voir sur ce site:
    http://www.toulouse-renaissance.net/...c_code_rgb.htm

    En espérant t'avoir aidé un peu plus qu'avant,
    bon courage

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Ca peut ressembler à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    HPALETTE hpal = Bitmap->Palette;
    PALETTEENTRY *lppe = new PALETTEENTRY[256];
     
    GetPaletteEntries(  hpal,   // handle of logical color palette
                        0,	    // first entry to retrieve
                        256,    // number of entries to retrieve
                        lppe);  // address of array receiving entries
    ...
    ...
    delete [] lppe;
    A plus !

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    J'ai oublié l'accès au tableau et aux composantes :

    typedef struct tagPALETTEENTRY { // pe
    BYTE peRed;
    BYTE peGreen;
    BYTE peBlue;
    BYTE peFlags;
    } PALETTEENTRY;

    Donc avec le tableau donné en exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    PALETTEENTRY *P = &lppe[index];
    P->peGreen 
    P->peRed
    P->peBlue
    A plus !

Discussions similaires

  1. Palette de 256 couleurs
    Par benjiprog dans le forum C
    Réponses: 5
    Dernier message: 29/05/2006, 15h16
  2. Palette 256 couleurs
    Par kivan666 dans le forum Graphisme
    Réponses: 9
    Dernier message: 01/04/2006, 23h39
  3. Réponses: 1
    Dernier message: 30/12/2005, 17h14
  4. Vitesse de transfert en mode VESA 800*600 256 couleurs
    Par chep dans le forum Assembleur
    Réponses: 9
    Dernier message: 28/05/2004, 11h53
  5. DirectDraw: Créer des surfaces 256 couleurs
    Par Magus (Dave) dans le forum DirectX
    Réponses: 5
    Dernier message: 14/10/2002, 22h28

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