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

  FORUM HardWare.fr
  Programmation

  Afficher un pixel en direct daw

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Afficher un pixel en direct daw

n°31510
slashp
Posté le 14-05-2001 à 16:03:12  profilanswer
 

Voila, je voulais savour comment programmer une fonction putpixel(x,y,couleur), qui affiche un pixel sur une surface ddraw (fonction en C).
 
Merci

mood
Publicité
Posté le 14-05-2001 à 16:03:12  profilanswer
 

n°31526
bat
Posté le 14-05-2001 à 16:40:02  profilanswer
 

La méthode brutale : ecriture directe en mémoire.
 
1) DirectDrawSurface->Lock() pour verrouiller la surface dans laquelle tu veux écire.
2) Pour le moment de l'écriture en elle même, j'ai un trou de mémoire. C'est peut etre DirectDrawSurface->GetDC() pour obtenir un contexte puis une fonction de l'API windows ou une écriture directe en mémoire grâce au pointeur qui va bien.
3) On déverrouille tout.

n°31528
slashp
Posté le 14-05-2001 à 16:40:56  profilanswer
 

Merci, je vais voir ça...

n°31740
LeGreg
Posté le 15-05-2001 à 10:13:46  profilanswer
 

En gros tu fais un lock sur une directdrawsurface, et tu travailles directement sur la zone memoire concernee.
 
ex:
DDSURFACEDESC2 ddsd;
LPDIRECTDRAWSURFACE4 g_pDDSBack;
LPSTR pBits;
HRESULT hRet;
 
ddsd.dwSize = sizeof(ddsd);
// On initialise la struct ddsd
hRet = g_pDDSBack->Lock(NULL, &ddsd, DDLOCK_WAIT , NULL);
// On verrouille la surface de travail (ici le backbuffer)
// On obtient un ddsurfacedesc2 en retour
if (hRet != DD_OK) //Erreur;
pBits = (LPSTR) ddsd.lpSurface;
// Operations de trace directement sur pBits.
g_pDDSBack->Unlock(NULL);
// Ne pas oublier de deverrouiller
 
Je crois meme que ce code est sorti directement d'un exemple du tutorial..
 
A+
LEGREG

n°31868
slashp
Posté le 15-05-2001 à 15:11:48  profilanswer
 

Merci, maintenant ça marche, j'ai juste un petit probléme de conversion d'une couleur RBG 24 bits en une couleur RGB 16 bits (ca dépend du hardware utilisé...)


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

  Afficher un pixel en direct daw

 

Sujets relatifs
[ada95] comment afficher une matrice?équivalent du ray picking directX6 en direct X8 -- gest° des colision
[GTK] Afficher une image a partir d'un fichier[HTML] lien vers fichier ( ms sans afficher fenetre de dl)
[VC++] Comment afficher une page HTML ?Ceation BD Access direct par code
video/delphi/direct X[Mysql] Afficher le nombre d'entrées qu'il y a dans une table
Comment afficher l'heure en C ?? :)[PHP] Recherche un site pour dialoguer en direct à propos de PHP
Plus de sujets relatifs à : Afficher un pixel en direct daw


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