Gerer ecran virtuel API

cs_idk Messages postés 16 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 29 juillet 2004 - 14 août 2003 à 11:23
orc_undead Messages postés 5 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 15 janvier 2009 - 27 avril 2005 à 04:16
Hello tous le monde! Je viens de passer a la programmation sous windows! Avant j etais sous DOS.
Pour faire des graphiques j utilise GetDC.
Je voudrais savoir si je pouvais creer un ecran virtuel, Ou je dessine mes truc ( SetPixel , LineTo etc...), Puis je copie cette ecran virtuel sur l ecran reel! Je voudrais faire ca pour des animations, et surtout, parce que, la fonction GetPixel, est super lente, quand je l utilise sur l ecran reel!! Si cette ecran virtuel etait une sorte de tableau...
Bref, si vous avez des info a me donner!!

mon adresse: istdasklar@wanadoo.fr

7 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
14 août 2003 à 14:47
Salut,
Tu as posé la meme question hier ...
0
cs_idk Messages postés 16 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 29 juillet 2004
14 août 2003 à 17:09
Je sais , mais d autre probleme sont venu apres! Comme cette question:
Comment copier l ecran virtuel sur le reel?
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
14 août 2003 à 17:14
Salut,
Pour copier un DC vers un autre DC tu as BitBlt(...).
0
cs_idk Messages postés 16 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 29 juillet 2004
14 août 2003 à 17:18
Ce que j ai fais c est ca , mais ca donne rien, pour une fenetre de reso 640*480

HDC hdc = GetDC(hwnd);
HDC virtuel = CreateCompatibleDC(hdc);

SetPixel(virtuel, 10,10, 255);

BitBlt(hdc, 0, 0,640, 480, virtuel,0, 0, SRCCOPY);

Mais y a rien!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
14 août 2003 à 17:53
Salut,
faut regarder un peu dans msdn!

// hDC = DC de ta fenetre
// hVirtuel fait 1*1 px en monochrome
hVirtuel = CreateCompatibleDC(hDC);
// on crée un bmp compatible avec hDC de 200*200(exemple)
hBmp = CreateCompatibleBitmap(hDC, 200, 200);
// on le selectionne dans hVirtuel
SelectObject(hVirtuel, hBmp);


Maintenant, hVirtuel est un DC qui suporte le meme nombre de couleurs que hDC et qui a les dimensions 200*200.
Tu peux y ecrire comme dans un DC normal, avec SetPixel ou BitBlt
0
cs_idk Messages postés 16 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 29 juillet 2004
14 août 2003 à 18:22
for ( int i = 0 ; i<1000; i++)
cout<<"MERCI 1000 fois !!"<<endl;
0
orc_undead Messages postés 5 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 15 janvier 2009
27 avril 2005 à 04:16
Bonjour... sur tous les forums que jai lu, j'en n'ai pas trouvé un qui dit comment cree un HDC completement Virtuel. Donc voila ma question :

Comment cree un Device Context sans avoir le Handle de la fenetre ??

J'ai essayé de faire:
****************************************************
vhdc = CreateCompatibleDC(GetDC(0));
vbitmap = CreateCompatibleBitmap(GetDC(0),100,100);
SelectObject(vhdc,vbitmap);
****************************************************
Mais.. comme je suis ici .. bah vous vous doutez que sa marche pas en C++!!
Et oui je dit bien en C++ car cela marche tres bien en VB...
Alors aidez moi!!!
0
Rejoignez-nous