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

 


Dernière réponse
Sujet : [MFC] image qui scintille
Replouf66 merci beaucoup pour ces informations :jap:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Replouf66 merci beaucoup pour ces informations :jap:
youdontcare 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.
Replouf66 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
youdontcare il ne faut pas redessiner le background (WM_ERASEBKGND).
 
et si c'est une image animée, il faut faire du double buffering.
Replouf66 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???

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)