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 :

problème de repaint()


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 52
    Par défaut problème de repaint()
    salut;

    j'ai un problème avec la fonction repaint() qui ne fonctionne pas, quand je traite l'image et je veux travailler avec je peux pas le faire car le repaint ne fait pas son traitement qui est de redessiner l'image traitée.

    merci pour votre aide

  2. #2
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonsoir,

    Je ne crois pas qu'il soit facile de comprendre réellement d'ou viens le problème tant que tu ne donneras pas plus de détails:
    sur quel type objet, a quel moment, quel évènement ? Bref, un bout de code, et une explication plus détaillée sera la bien venue afin que qqu'un puisse bien appréhender la "chose".

    @+

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 52
    Par défaut
    salut;
    mon code est le suivant:
    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
    Graphics::TBitmap *Srce;
    Graphics::TBitmap *Dest ;
    Srce = Image2->Picture->Bitmap;
    Dest = Image2->Picture->Bitmap;
    int we = Srce->Width-1;
    int he = Srce->Height;
     
    int r;
    int g;
    int b;
     
    jRgb *P = (jRgb*)Srce->ScanLine[0];
    jRgb *L = (jRgb*)Srce->ScanLine[1];
    jRgb *N;
    jRgb *T;
     
    for(int y = 1; y < he; y++)
        {
        N = (jRgb*)Srce->ScanLine[y];
        T = (jRgb*)Dest->ScanLine[y-1];
        for(int x = 1; x < we; x++)
            {
            b = (   P[x-1].Blue + P[x].Blue + P[x+1].Blue +
                    L[x-1].Blue + L[x].Blue + L[x+1].Blue +
                    N[x-1].Blue + N[x].Blue + N[x+1].Blue) / 9;
     
            g = (   P[x-1].Green + P[x].Green + P[x+1].Green +
                    L[x-1].Green + L[x].Green + L[x+1].Green +
                    N[x-1].Green + N[x].Green + N[x+1].Green) /9;
     
            r = (   P[x-1].Red + P[x].Red + P[x+1].Red +
                    L[x-1].Red + L[x].Red + L[x+1].Red +
                    N[x-1].Red + N[x].Red + N[x+1].Red) / 9;
     
            // Sortie vers le bitmap 24 bits
            T[x].Blue = (Byte)b;
            T[x].Green = (Byte)g;
            T[x].Red = (Byte)r;
            }
        P = L;
        L = N;
        }
    Image2->Repaint();
    c'est un code qui filtre l'image aprés bruitage par un filtre moyenneur; alors que l'image doit etre redessiner par repaint() je veux dire qu'elle doit etre filtrer , mais ce n'est pas le cas dans ce code.

    merci pour votre aide

  4. #4
    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 !

    La boucle en (y) doit commencer en (2) et non en (1) !

    Pour la Repaint, je vais tester ça puisque j'utilise un Graphics::TBitmap et non un TImage pour la sortie; ce bitmap étant ensuite dessiné directement sur un form dans sa méthode OnPaint... donc...

    Peut-être s'assurer d'une chose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Image2->Picture->Bitmap->PixelFormat = pf24bit;
    A plus !

Discussions similaires

  1. [JPanel] Problème de repaint
    Par matthieu86 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 04/08/2008, 16h34
  2. Superposition de JTextPane, problème de repaint
    Par Beleg dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 07/01/2008, 10h16
  3. probléme de repaint
    Par hayckool dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 23/10/2007, 00h49
  4. problème de repaint au dessus d'une JInternalFrame
    Par Lady dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 31/08/2007, 09h44
  5. [Graphisme][Débutant(e)] Problème sur repaint()
    Par Katyucha dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 08/10/2004, 17h12

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