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 :

recherche d'une formule general


Sujet :

C++Builder

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 29
    Points : 34
    Points
    34
    Par défaut recherche d'une formule general
    bonsoir,enfête puisque je vais attaquer l'etalement d'un histogramme je cherche la formule qui fait ce travaille sinon des explication pour comprendre
    car j'ai lus plein de discusion sur cette etape mais j'ai vrement rien compris.

  2. #2
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Je vais t'envoyer à un message que tu as déjà écris: http://www.developpez.net/forums/sho...d.php?t=440609

  3. #3
    Membre chevronné

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    Pour un bitmap 8 bits c'est assez simple et très rapide puisque chaque pixel est stocké sous forme d'un index auquel correspond une teinte dans sa palette (il n'y a que 256 couleurs).
    Il est inutile dans ce cas de passer par Canvas->Pixels[X][Y], sauf si on a du temps à perdre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int HistoCouleurs[256];
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Graphics::TBitmap *S = Image1->Picture->Bitmap;
    ZeroMemory(HistoCouleurs, sizeof(int) * 256); //je sais... 1024
    Byte *Ligne;
    for(int y = 0; y < S->Height; y++)
        {
        Ligne = (Byte*)S->ScanLine[y];
        for(int x = 0;x < S->Width; x++)
            {
            HistoCouleurs[ Ligne[x] ]++;
            }
        }
    Si on doit aussi représenter les couleurs de la palette (pour l'histogramme par exemple), il est possible de les extraire.
    Ca peut également servir pour faire l'histogramme des R,G,B mais aussi pour calculer très rapidement les niveaux de gris des couleurs de la palette (détecter les doublons ou plus puisque... ici on ne sait jamais ce que donne cette conversion).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PALETTEENTRY Colors[256];
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //REM Graphics::TBitmap *S...
    GetPaletteEntries(S->Palette, 0, 256, Colors);
    L'encodage de PALETTEENTRY vers TColor se fait ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    PALETTEENTRY e = Colors[n];
    //Par exemple : 
    Canvas->Pen->Color = (TColor)RGB(e.peRed, e.peGreen, e.peBlue);
    Par contre pour un bitmap 24 bits ça peut être un peu plus compliqué à mettre en oeuvre.

    Je te conseille de dessiner l'histogramme sur une autre fiche (form) que celle qui porte l'image (une FormStyle = fsStayOnTop) !

    A plus !

Discussions similaires

  1. [XL-2003] Recherche d'une formule.
    Par Micky58 dans le forum Excel
    Réponses: 4
    Dernier message: 16/12/2013, 17h01
  2. A la recherche d'une formule
    Par alyou dans le forum Excel
    Réponses: 8
    Dernier message: 01/10/2013, 23h23
  3. [AC-2010] recherche désespérément une formule
    Par lionel340 dans le forum VBA Access
    Réponses: 5
    Dernier message: 24/05/2012, 17h05
  4. [XL-2007] A la recherche d'une formule sur une feuille de ratios
    Par edelweiss73 dans le forum Excel
    Réponses: 4
    Dernier message: 09/01/2012, 17h17
  5. recherche d'une formule, combinaison ?
    Par sydbb dans le forum Mathématiques
    Réponses: 2
    Dernier message: 26/01/2009, 18h46

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