CyberP
Messages postés283Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 4 juillet 2007
-
4 août 2005 à 20:47
CyberP
Messages postés283Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 4 juillet 2007
-
5 août 2005 à 09:17
Je voulais savoir comment faire pour afficher un buffer de couleurs sur une fenêtre ?
Ou au pire comment dessiner tout simplement dans la fenêtre sans faire d'update... On utilise quand même beginpaint ?
J'ai relu 15 fois tout ce qu'ils disent à ce sujet dans le MSDN mais je trouve que niveau explications on peut que faire mieux, et les seuls exemples disponibles c'est redimensionner des images et tout
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 4 août 2005 à 21:23
Salut,
Tu peux dessiner directement dans une fenêtre après avoir obtenu son
HDC avec GetDC(hWnd). Une fois le dessin terminé, tu libères ce HDC
avec ReleaseDC(hWnd,hdc). Le problème c'est que le dessin sera effacé
quand la fenêtre est réduite ou mise en arrière plan. C'est pour cela
qu'on utilise BeginPaint().
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 4 août 2005 à 23:46
Tu devrais utiliser ExtFloodFill(), faut pas démarrer un nouveau code avec les anciennes fonctions.
Fait le remplissage d'une zone avec le cuurent brush, pratique pour faire des graphes et autres bidules de ce genre.
CyberP
Messages postés283Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 4 juillet 20072 5 août 2005 à 08:45
FloodFill ça remplit le truc entièrement en une couleur normalement
Sinon même avec ExtFloodFill ça ne le met pas en rouge (pourtant il demande un COLORREF comme argument)
Je ne peux pas utiliser de brush parce que c'est pour faire un rendu en 3D, alors je me vois mal créer un brush pour chaque pixel mais plutot utiliser SetPixel qui demande lui aussi un COLORREF. Le problème est que ça ne marche pas non plus [avec SetPixel].
Mon code au cas où ce serait une erreur de ma part (ce qui m'étonnerait vu la simplicité du script) :
for (int i = 50; i < 250; ++i)
for (int j = 60; j < 400; ++j)
SetPixel(sourceDC, i, j, RGB(255, 0, 0));
CyberP
Messages postés283Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 4 juillet 20072 5 août 2005 à 08:47
Je viens de découvrir que si je mets :
SetPixel(sourceDC, i, j, RGB(255, 0, 255));
c'est à dire avec une autre couleur, ça apparait en blanc ! A mon avis le HBITMAP que je sélectionne est en noir & blanc...
CyberP
Messages postés283Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 4 juillet 20072 5 août 2005 à 09:17
Ahhhh merci ça fonctionne :)
Mais comment faire pour changer le nombre de bits par exemple
Parce que SetDIBitmap demande un tableau de couleurs (dans le BITMAPINFO) et ça je veux pas par exemple