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 :

Rafraichissement TImage


Sujet :

C++Builder

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 238
    Points : 269
    Points
    269
    Par défaut Rafraichissement TImage
    Bonjour à tous.
    Je suis en train d'ecrire un programme pour lire et écrire des fichier DXF ( graphique). J'affiche mon dessin dans une TImage et je dessine en utilisant les propiété du Canvas.
    Tous fonctionne correctement cependant, lorsque je deplace l'image ou que je dessine une droite sur le dessin, j'ai un clignotement de mon image assez désagréable.
    Le problème viens du fait que je ne connais pas de méthode pour effacer le dessin en cours à part charger une image noir sur ma TImage. Du coup a chaque rafraichissement de mon Image, il charge et redessine.

    Existe-t-il un moyen de résoudre ce problème ?

    Voici le code que j'utilise pour rafraichir ma TImage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
         Zone_Dessin->Picture->LoadFromFile("Black.bmp");
         Zone_Dessin->Canvas->Brush->Style = bsClear;
         monDessin->Rafraichir(Zone_Dessin);
    Zone_Dessin = TImage
    monDessin est l'objet qui contrôle le dessin, c'est lui en autre qui va redessiner.

    D'avance merci de vos reponse.
    « L’erreur est humaine, mais un vrai désastre nécessite un ordinateur »

  2. #2
    Membre actif Avatar de cfdev
    Homme Profil pro
    Passionné
    Inscrit en
    Octobre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Passionné

    Informations forums :
    Inscription : Octobre 2004
    Messages : 220
    Points : 210
    Points
    210
    Par défaut
    lut,
    je crois que sur le Timage il y a une fonction Refresh du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Zone_Dessin->Refresh();
    ou alors repaint :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Zone_Dessin->Repaint();

    ++
    mcercle facturation - Logiciel de facturation Win/Mac/Linux

  3. #3
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Pour effacer une image c simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Graphics::TBitmap *Btm = new Graphics::TBitmap() ;
    Btm -> Width  = Image1 -> Picture -> Width ;
    Btm -> heigth = Image1 -> Pictue -> Heigth ;
    Image1 -> Picture -> Bitmap -> Assign(Btm) ;
    n'oubli pas :

    Aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    TColor ClearColor = clBlack ; // la couleur de l'effacement
    Image1 -> Canvas -> Pen    -> Color = ClearColor ;
    Image1 -> Canvas -> Brush -> Color = ClearColor ;
    Image1 -> Canvas -> Brush -> Style  = bsSolid ;
    Image1 -> Canvas -> Rectangle(0, 0, Image1 -> Picture -> Width, Image1 -> Picture -> Height) ;
    A toi de jouer.
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  4. #4
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Salut,

    il existe une instruction que je viens d'éssayé pour effacer le contenu d'une image (TImage::TPicture), le code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Image1 -> Picture = NULL ;
    si c'est bon, pense à mettre en [Résolu]
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  5. #5
    CGi
    CGi est déconnecté
    Expert éminent
    Avatar de CGi
    Inscrit en
    Mars 2002
    Messages
    1 032
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 1 032
    Points : 8 209
    Points
    8 209
    Par défaut
    cependant, lorsque je deplace l'image ou que je dessine une droite sur le dessin, j'ai un clignotement de mon image assez désagréable.

    A la création de la fiche contenant l'image :

    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 238
    Points : 269
    Points
    269
    Par défaut
    Merci de vos reponses, je vais essayaer tout ca :p
    « L’erreur est humaine, mais un vrai désastre nécessite un ordinateur »

  7. #7
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    pense à faire un
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

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

Discussions similaires

  1. Timage et Canvas??
    Par vanack dans le forum C++Builder
    Réponses: 4
    Dernier message: 14/04/2007, 11h38
  2. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  3. [TImage] Transfert de Picture par pixels.
    Par H2D dans le forum Langage
    Réponses: 9
    Dernier message: 25/10/2003, 14h37
  4. Timage rafraichissment
    Par Rizzla dans le forum Composants VCL
    Réponses: 5
    Dernier message: 16/09/2002, 17h08
  5. TImage
    Par Thylia dans le forum C++Builder
    Réponses: 5
    Dernier message: 09/07/2002, 20h03

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