begin process at 2012 05 29 14:40:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

problème dessiner image dans fenêtre


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

problème dessiner image dans fenêtre

lundi 13 décembre 2004 à 01:18:38 | problème dessiner image dans fenêtre

raoulman

Bonjour

Comme je tourne en rond, je viens chercher de l'aide. J'essaye de faire un morpion en GDI, c'est pour apprendre. J'ai une fenêtre mère avec 9 fenêtres clientes.

Aujourd'hui, le jeu fonctionne, sauf si la fenêtre est recouverte ou réduite, je n'arrive pas à stocker les images dessinées dans un ou plusieurs buffeurs pour les rappeler lorsqu'un WM_PAINT est envoyé.
Ca fait des jours que j'essaye de trouver une solution et j'en peux plus, mon code est devenu un véritable champ de bataille.

Y aurait-il une bonne âme pour me donner la portion de code me permettant d'afficher un bmp et surtout, de le stocker dans un buffer pour le rappeler lorsque un WM_PAINT est envoyé.

Merci d'avance
lundi 13 décembre 2004 à 09:04:59 | Re : problème dessiner image dans fenêtre

ricky78


Si tu me donne un mail, je peux t'envoyer une classe permettant d'afficher facilement un fichier image.C'est un peu long pour mettre le code dans la réponse.


TOCHE
lundi 13 décembre 2004 à 13:15:07 | Re : problème dessiner image dans fenêtre

racpp

Administrateur CodeS-SourceS
Salut,
Voici un exemple qui pourrait te servir:
Au début de ta WndProc tu déclares ceci:

static HDC memDC ;
static HBITMAP hBmp;
static RECT rect;

A la fin du traitement de WM_CREATE tu ajoutes:

HDC hdc;
hdc = GetDC(hwnd);
memDC = CreateCompatibleDC(hdc);
GetClientRect(hwnd,&rect);
hBmp = CreateCompatibleBitmap(hdc, rect.right, rect.bottom);
SelectObject(memDC, hBmp);
ReleaseDC(hwnd,hdc);

Pour le traitement de WM_PAINT tu fais:

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hwnd, &ps);
BitBlt(hdc,0,0,rect.right,rect.bottom,memDC,0,0,SRCCOPY);
EndPaint(hwnd, &ps);
return 1;
}

Juste avant la fermeture du programme du fais:

DeleteObject(hBmp);
DeleteDC(memDC);

Dand cet exemple, on dessine dans un HBITMAP en mémoire. Il y reste tant qu'on ne l'a pas supprimé. La fonction BitBlt() l'affiche sur la fenêtre pendant WM_PAINT. Si tu veux l'afficher juste après avoir dessiné tu fais par exemple:
Rectangle(memDC,10,10,50,30);
InvalidateRect(hwnd,&rect);

J'espère que ça résoudra ton problème.
lundi 13 décembre 2004 à 15:25:14 | Re : problème dessiner image dans fenêtre

raoulman

Je vais essayer.

merci
lundi 13 décembre 2004 à 15:25:25 | Re : problème dessiner image dans fenêtre

raoulman

Je vais essayer.

merci


Cette discussion est classée dans : problème, image, fenêtre, essaye, dessiner


Répondre à ce message

Sujets en rapport avec ce message

Problème de redimensionnement [ par Kirikq ] Bonjour, J'ai un petit problème avec le redimensionnement d'une image.La mise en situation, tout d'abord : Je "capture" une image venant d'une caméra dessiner dans une fenêtre qui hérite de CDialog [ par softreda ] salut tout le monde. est ce que je peu dessiner dans une fenêtre qui hérite de CDialog, en fait je veux dessiner une ellipse. je ne sais pas si je peu Lenteur 3 [ par SAKingdom ] Pour résumé, j'ai fait une petite DLL graphique 2D et j'avais (et j'ai toujours) un problème écransant de lenteur. J'utilisait SetPixel (j'utilise tou problème imagelist [ par banane_rose ] salut ! voilà j'ai une image 96 x 16 de 6 icônes avec une profondeur de couleur de 24 . et le code suivant : HIMAGELIST hImgL = Choisir le DC d'une fenêtre [ par vecchio56 ] Salut, Je voulais savoir si'il est possible de dessiner une fenêtre dans un device contexte spécifique? Par exemple, dessiner tous les fenêtre filles Récupérer des entrées clavier hors d'une fenêtre Win21 [ par Taranael ] Salut ! Bon j'ai un problème pour un p'tit programme idiot que j'ai fait, c'est un piano tout con en C qui joue de la musique avec votre tourelle quan MFC c++ : comment mettre une image en fond de le fenêtre [ par hao21 ] Bonjour.Dans le cadre d'une programmation en visual c++ avec utilisation des MFC, j'ai besoin  de mettre une image en fond de la fenetre. J'aimerai sa Afficher une image dans un contrôle [ par tigerskin ] Salut !J'ai un problème : je dois afficher dans ma boite de dialogue une image JPEG. J'utilise pour cela une fonction trouvée sur CPPFrance (LoadAnIma ? Problème de mémoire ? [ par caribou2001 ] Bonjour à tous, j'ai un projet à faire pour mes cours pour lequel je dois analyser une centaine d'image et en extraire une zone particulière. Pour ce [Visual C++] taille de la fenêtre d'éxecution [ par elo29 ] Bonjour, Je travaille sur un code qui permet de binariser une image. Mon souci est que l'image initiale avec laquelle j'ai besoin de travailler a une


Nos sponsors


Sondage...

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 : 0,359 sec (4)

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