franco82
Messages postés8Date d'inscriptionmardi 23 novembre 2004StatutMembreDernière intervention 4 décembre 2006
-
28 nov. 2006 à 16:46
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 2016
-
29 nov. 2006 à 18:55
bonjour à tous,
je suis dans une panade pas possible, je cherche à afficher une image dans ma fenetre hWnd mais dès que je lance une nouvelle acquisition jaimerais que celle ci se rafraichissse dans la fenetre....
j'utilise donc GDI+, le problème que je rencontre surviens justement lors du rafraichissement!Ma ressource étant utilisé popur l'affichage, il m'est impossible de l'ecrasser pour la remplacer et donc l'afficher.....
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201624 29 nov. 2006 à 18:55
Dispose est appelée directement par delete image1 (destructeur)
Je ne vois pas ou est la difficultée, tu peux aussi cloner ton image de base (Clone) pour travailler dessus.
Si Image image1 est une globale il suffit dans menu aquistion de faire un :
if (image1) delete image1;
image1 = new Image(nouvelle_image); //ect... elle est écrasée.
franco82
Messages postés8Date d'inscriptionmardi 23 novembre 2004StatutMembreDernière intervention 4 décembre 2006 29 nov. 2006 à 09:05
ok
merci ,
mais le souci c'est que invalidate rect prend trois argument et pas deux, à moins que tu est rippé sur le clavier et oublier le troisième argument!!
pour ce qui est du code je suyis d'accord , c'est exactement ce que j'ai ecrit mais le souci c'est de libérer ma ressource en loccurence l'image "UneImage.bmp", dans mon code cette image est générer lors d'un acquisition camera e le souci c'est que ne réécit pas sur cette ilmage (je pense que c'est à cause de l'affichage!)
donc voila le souci l'affichage c'est dejà bon....
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201624 29 nov. 2006 à 15:38
Aï, je commence à comprendre, tu veux retranscrire un flux video en bitmap avec un timer je suppose !
Avec 10 lignes de code et DirectShow, tu peux créer un flux vidéo qui fera tout le travail vers un HWND ! Et avec une réelle animation temps réel. Mais bon, j'ai peut etre mal compris.
Bonne continuation.
Vous n’avez pas trouvé la réponse que vous recherchez ?
franco82
Messages postés8Date d'inscriptionmardi 23 novembre 2004StatutMembreDernière intervention 4 décembre 2006 29 nov. 2006 à 17:52
alors enfait je vais essayer d'etre plus precis!!!
jai ma camera elle realise une acquisition lorsque je choisit une "acquisition simple".
une fois l'acquisition realisée , je retranscrit l'image en fichier .png!(jusque là tout fonctionne)
c'est une fois que je l'affiche dans ma fenetre que c'est la merde. En fait je cré une varible de type Bitmap
avec la ligne suivante :
image1=new Bitmap(L"acq0.png");
je l'affiche ensuite dans ma fenetre en definissant la zone cliente
InvalidateRect(...
Le souci, c'est que une fois afficher , je souhaite réaliser des traitement (par la suite, ce n'est pas ma priorité!!). Ceux ci terminés, je souhaite refaire une acquisition en cliquant à nouveau sur l'item de mon menu et donc réafficher l'image...
PROBLEME!!!!!
MA NOUVELLE IMAGE EST CREE AVEC LE MEME NOM QUE LA PRECEDENTE. MALHEURESEMENT, TANT QUE LA RESSOURCE "image1" N'EST PAS LIBEREE, JE NE PEUT PAS SUPPRIMER MON IMAGE "acq.png" ET JE NE PEUT PAS RE-ECRIRE PAR DESSUS...ELLE EST VEROUILLEE!!!
ja'ai donc essayer et jessai toujours de liberer cette ressource.Mais en lisant la MSDN2 de microsoft on y trouve ceci: