Problème avec la fonction DrawDibDraw sous VC++.Net

cs_meem Messages postés 12 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 31 juillet 2004 - 21 juil. 2004 à 15:06
franck31400 Messages postés 7 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 16 avril 2007 - 19 sept. 2005 à 14:47
Bonjour,

Je travaille actuellement sur un logiciel de suivi de marqueurs en 3D. Pour cela, j'ai besoin d'extraire une image d'un fichier vidéo au format .avi.

J'utilise Visual C++ .Net et je rencontre le problème suivant :

mon code ne s'exécute pas sur ma machine mais bien sur celle de mon responsable.

Voici la portion incriminée :

HDRAWDIB pHDrawDIB=DrawDibOpen();

DrawDibDraw(pHDrawDIB,(HDC) *GetDC(),0,0,720,576,&pDoc->Video.VideoFormat.bmiHeader,pDoc->Video.Image,0,0,720,576,0);

DrawDibClose(pHDrawDIB);

J'ai bien vérifié que le pointeur pHDrawDIB n'est pas NULL. La fonction DrawDibDraw retourne "false" sur ma machine, "true" sur celle de mon responsable. Dans les deux cas, le fichier vidéo est ouvert et lu. Seul l'affichage de l'image ne se fait pas. Les mêmes Codec sont installés sur les deux machines.

Quelqu'un pourrait-il m'aider s'il vous plait ?

D'avance merci,

Cordialement,

Meem

1 réponse

franck31400 Messages postés 7 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 16 avril 2007
19 sept. 2005 à 14:47
je pense que l'erreur peut provenir pDoc->Video.Image .
Oui j'ai travaillé une ou deux fois avec cette fonction et c'est ici que ca plantait

moi ,si je me souvient bien ,c'etait quelque chose de ce genre la:

char [taillex][tailley][3]; // image rgb 24 bit

tu fais les modifs que tu veux sur image

et ensuite tu affiches:
HDRAWDIB pHDrawDIB=DrawDibOpen();

DrawDibDraw(pHDrawDIB,(HDC) *GetDC(),0,0,720,576,&pDoc->Video.VideoFormat.bmiHeader, &image ,0,0,720,576,0);

DrawDibClose(pHDrawDIB);

apres je ne sais pas si ca marche vraiment pas c'est peut etre le pDoc->Video.VideoFormat.bmiHeader qui est mauvais ????

je rappelle a tous les programmeurs C++ que cette fonction est particulierement
interessante: elle est rapide et permet d'afficher une sequence d'image sans effet
de scintillement

franck
0
Rejoignez-nous