begin process at 2012 05 28 20:48:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

dessin WIN32


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

dessin WIN32

lundi 7 février 2005 à 18:47:36 | dessin WIN32

Arnaud16022

Membre Club
bonjour tout le monde.

je commence un logiciel de dessin (bon en fait pas tout a fait mais ne compliquons pas tout)
programmé en win32
jusqu'a présent pour afficher un pixel j'utilisais PutPixel() (ou SetPixel()? j'ai pas le code sous les yeux...)
seulement ca a ses limites.
ce que j'aimerais c'est un tableau de données qui contienne tout mon écran (un écan virtuel, comme dans openGL avec le color_buffer)
probleme:
un fois que j'ai rempli mon tableau, comment je fais pour l'afficher? que se passe t-il si je redimentionne ma fenetre? comment éviter que l'affichage d'une image commence avant que la précédente ne soit completement affichée, ce qui donne l'effet de scintillement ( idem en opengl avec des fps trop élevés) ? est-ce possible d'éviter de passer le hDC a ma dll a chaque fois que je redessine l'écran ( pour l'instant pas moyen d'y couper; et avec un pointeur ca marche pas)

merci de votre coopération...
++
arnaud

_______________________
Omnia vincit labor improbus
mardi 8 février 2005 à 05:45:13 | Re : dessin WIN32

aardman

Membre Club
Salut,
Ben puisque personne te réponds...
Je crois que tu veux parler du double buffering. Sous windows, en gros, on crée un DC mémoire qui a les meme caracteristiques que le DC fenetre, on y dessine dedant, et on recopie d'un coup le DC mémoire dans le DC fenetre (avec bitblt).
C'est notamment cette technique que j'utilise dans ma source "des yeux", (lors du traitement du message WM_PAINT).
mardi 8 février 2005 à 18:50:27 | Re : dessin WIN32

Arnaud16022

Membre Club
ben, pas tout a fait.
enfin...
ce que tu me dis convient a ce que je voulais faire, mais c'est pas tout a fait du double buffering...ou.. quoique...j'en sais rien . je vais voir ta source, je l'avais déja vue, mais jamais le code.
ya moyen de faire du fullscreen avec?

_______________________
Omnia vincit labor improbus
mardi 8 février 2005 à 19:15:02 | Re : dessin WIN32

aardman

Membre Club
Salut,
Tu as parlé de "tableau qui contient ton écran" et "d'afficher le tableau" donc j'ai pensé au DC mémoire.
Sinon pour le fullscreen, il me semble qu'on fait ca en metant le style WS_EX_TOPMOST a la fenetre, et en lui donnant les dimensions de l'ecran.
mardi 8 février 2005 à 20:46:33 | Re : dessin WIN32

Arnaud16022

Membre Club
dis donc j'ai essayé ton truc
mon écran est tout moir, impossible de dessiner
et pis j'ai pas l'impression qu'on puisse choisir un pixel précis pour le mettre dans la couleur qu'on veut si?

_______________________
Omnia vincit labor improbus
mardi 8 février 2005 à 20:57:41 | Re : dessin WIN32

aardman

Membre Club
Salut,
Ben la fenetre est noire car le brush du background de ta fenetre doit etre noir.
Sinon tu peux y dessiner normalement en traitant le WM_PAINT, comme toutes les fenetres.
mardi 8 février 2005 à 21:17:57 | Re : dessin WIN32

Arnaud16022

Membre Club
ouais en fait je dessinais noir sur noir...la j'ai du rouge sur noir ca pete le feu
"Sinon tu peux y dessiner normalement en traitant le WM_PAINT, comme toutes les fenetres."
c'est bien ca le probleme, je sais pas du tout comment on fait, moi au départ c'est openGL only
t'as pas un bon tuto sous la main pour les fonctions principales de dessin? moi ce qui m'intéresse c'est de pouvoir dire au prog: le pixel de coordonnées (10,200), ben tu le mets en orange

merci de ton aide

_______________________
Omnia vincit labor improbus
mardi 8 février 2005 à 21:35:21 | Re : dessin WIN32

aardman

Membre Club
Salut,
OpenGL j'y connais rien, il etait question de win32.
Pour créer la fenetre de ton prog, tu as du commencer par enregistrer une class (avec RegisterClass()) qui contient les infos de ta fenetre (comme la WndProc, ou le Brush qui sert a dessiner le fond de la zone client, etc...).
Le message WM_PAINT est, comme tout les autres messages, recu par la WndProc de ta fenetre.

Pour le tuto, j'en ai pas, mais je ne peux que te conseiller de lire le Petzold:
[ Lien ]

Enfin, pour l'histoire du pixel, l'api a utiliser est SetPixel(...), mais il existe plein d'autres api pour dessiner, la je te conseille d'aller jetter un coup d'oeil sur msdn.
mercredi 9 février 2005 à 16:57:45 | Re : dessin WIN32

Arnaud16022

Membre Club
OK merci bcp, dl en cours, je vais sur msdn de suite.
juste uune derniere question en passant: si on crée un bitmap (createcompatiblebitmap) on peut pas y accéder par unn truc genre mon_bitmap[numéro_colonne][num_ligne]=RVB(1 125 2);
???
(je doute)
en tout cas je me renseigne
_______________________
Omnia vincit labor improbus
mercredi 9 février 2005 à 17:19:15 | Re : dessin WIN32

aardman

Membre Club
Salut,
Non il faut le selectionner dans un DC (ici le DC mémoire) avant de pouvoir faire cela, puis utiliser SetPixel(...).

1 2

Cette discussion est classée dans : afficher, tableau, dessin, win32, commence


Répondre à ce message

Sujets en rapport avec ce message

Tracer graphique en fonction d'un tableau [ par Bobbix ] Bonjour,Dans le cadre d'un projet, j'ai besoin de votre aide sur le graphisme en WIN32. Nous avons réalisé une carte électronique d'un oscilloscope qu fonction tableau 2 dimensions [ par globe_dk ] Bonjour,J'aimerai savoir comment on fait pour passer un tableau a deux dimensions en parametre dans une fonction en passant par son adresse. J'arrive Afficher un float en win32 [ par Siriusgalaxie26 ] SIRIUS Je dévelope une application console Win32 avec Visual C++ et j'aimerai afficher une valeur float à l'écran. Malheureusement, la fct COUT<< ne boite de dialogue et tableau [ par sacksith ] Bonjour,Je n'arrive pas à afficher un tableau dans une boite de dialogue déclarée par createdialog et utilisant un fichier ressource .rcBon j'arrive à API Win32 Afficher une seconde fenêtre [ par Ifrit235 ] Salut à tous je cherche à afficher une seconde fenêtre mais pas une boite de dialogue (une fenetre qu'on cré avec la fonction CreateWindowEx car je ve Afficher valeur d'un tableau en forme d'image dans une appli [ par The_Blinker ] Bonjour à tous!!En faite j'ai besoin pour un projet, je voudrais afficher une image dont les valeurs de chaque bit de couleur vienne d'un tableau d'en Afficher un BMP en Win32 BRUT [ par MoDDiB ] Je viens de chercher pendant un bon moment avec la dll de brunews mais on ne peux pas choisir une taille de fenetre etc..Donc si qq'un a la fonction b Afficher un tableau de pixels [ par elinep ] Donc comment peut on en win32 afficher une image que l'on a sous la forme d'une matrice de pixels?J'ai essaye en faisant CreateBitmap() puis en modifi comment mettre des informations d'un fichier dans un tableau [ par cobra176 ] excusez moi mais je recherche le moyen de mettre les informations d'un fichier texte dans un tableaux pour ensuite les afficher séparementexemple fich afficher un tableau [ par ili chamad ] Bonjour, je voudrai inserer un tableau (int) dans l'interface de mon application dont le but de visualiser differents methodes de tris,Merci pour tout


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,214 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales