Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1293 connectés 

  FORUM HardWare.fr
  Programmation

  [MFC] image qui scintille

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MFC] image qui scintille

n°160053
Replouf66
Posté le 15-06-2002 à 22:39:32  profilanswer
 

j'affiche une image dans la méthode OnPaint et elle scintille quand on redimensionne la fenêtre ou autre.
 
j'aimerais savoir comment résoudre ce probleme.
je me suis dis que de déssiner juste ce qu'il faut plutot que l'image entiere serait mieux mais comment faire???

mood
Publicité
Posté le 15-06-2002 à 22:39:32  profilanswer
 

n°160055
youdontcar​e
Posté le 15-06-2002 à 22:42:26  profilanswer
 

il ne faut pas redessiner le background (WM_ERASEBKGND).
 
et si c'est une image animée, il faut faire du double buffering.

n°160057
Replouf66
Posté le 15-06-2002 à 22:56:52  profilanswer
 

si tu pouvais t'étendre un peu plus le sujet  :)  
 
je débute dans tous ce qui concerne le graphisme et j'aimerais avoir des explications un peu plus détaillé sur le double buffering.
 
 
pour le background ça marche niquel :) :) merci

n°160059
youdontcar​e
Posté le 15-06-2002 à 23:10:59  profilanswer
 

le principe est tout simple. sans double buffering, si tu veux afficher un personnage qui se déplace sur une image de fond, tu dessines l'image de fond puis le personnage à l'écran. en faisant ça, tu va d'abord voir l'image de fond, puis le personnage, qui provoque alors un scintillement.
 
le double buffering tient son nom du fait que (miracle :D) il y a deux buffers : un 'caché' dans lequel tu dessines, l'autre étant l'écran. tu dessines donc ton image de fond puis le personnage dans le buffer caché, puis tu affiches ce buffer à l'écran : plus de scintillement.
 
pour windows, tu passes par CreateCompatibleDC(), CreateCompatibleBitmap() pour créer ton buffer caché, BitBlt() pour l'afficher à l'écran. fais une recherche là-dessus sur ce forum, tu trouveras pas mal de topics sur le sujet, certains en C, d'autres en Delphi, etc., le tout en Win32. tu peux également chercher sur google, codeproject.com ( http://www.codeproject.com/gdi/flickerfree.asp par exemple).
 
avec cette technique, tu peux dessiner tout ce que dessine internet explorer, photoshop, flash, etc. si tu veux faire de la 3d ou de la 2d pour un jeu, tu passes alors par opengl ou directx.

n°160065
Replouf66
Posté le 15-06-2002 à 23:19:37  profilanswer
 

merci beaucoup pour ces informations :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [MFC] image qui scintille

 

Sujets relatifs
[VB] comment sauvegarder une image dans un fichierProbleme d'insertion d'un wav [MFC]!!!!!!!!!!!!!!!!!!
[VISUAL C++] [MFC] Les menus[[[HTML]]]Merci de m'aider à insérer une image en fond dans un tableau
[C++] Encapsuler du code Win32 dans un dialog MFC ?Insérer une image de fond dans le source
Image 16*16 dans un menu en VB ?[VB6] Question à propos de Menu (Image dedans)
[VISUAL C++ / MFC] Probleme de Palette[C++/MFC/API Windows] Pour ouvrir une adresse web ?
Plus de sujets relatifs à : [MFC] image qui scintille


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR