raikko21
Messages postés33Date d'inscriptionjeudi 30 septembre 2010StatutMembreDernière intervention24 novembre 2011
-
7 mai 2011 à 14:31
raikko21
Messages postés33Date d'inscriptionjeudi 30 septembre 2010StatutMembreDernière intervention24 novembre 2011
-
13 mai 2011 à 23:41
Salut tlm!!!
J'ai un petit problème pour passer d'une Win Api en WindowsForm, j'ai fait une application (je me suis bcp aider des sources du site) qui gère une webcam que j'ai envie d'afficher dans un pictureBox et la... je bloque un peu au niveau du handle
et la j'ai un problème concernant le hWnd (Handle de la fenetre), je doit le remplacer par le handle du pictureBox non??
J'ai essaye de remplacer le hWnd par: (HWND)this->pictureBox1->Handle.ToInt(32)
et la fatal error LNK1120: 2 unresolved externals
cs_louis14
Messages postés793Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention10 février 20218 10 mai 2011 à 13:20
Bonjour,
en premier lieu , il faut inclure la librairie vfw dans ton projet, se ce n'est fait.
Ensuite, je ne sais pas pourquoi tu fais toint(32), ce ne serait pas plutôt toInt32(). ensuite il faut voir à quoi correspond Handle , n'est-ce pas le handle que tu dois utiliser pour la fonction de vfw. tu as essayé picturebox->Handle tout simplement ou avec le cast devant?
raikko21
Messages postés33Date d'inscriptionjeudi 30 septembre 2010StatutMembreDernière intervention24 novembre 2011 11 mai 2011 à 01:17
salut louis!
Je te remercie d'avoir pris le temps de répondre, ben c'est normal j'ai inclus <windows.h> et <vfw.h> et pour le ToInt(32) c'est juste une erreur de frappe.. Oui j'avais essaye sans le ToInt32() et rien. Mon problème c'est quand je passe en WindowsForm en WinApi ca marche normalement.
je vais voir le lien et encore merci
raikko21
Messages postés33Date d'inscriptionjeudi 30 septembre 2010StatutMembreDernière intervention24 novembre 2011 11 mai 2011 à 01:58
Re louis!
Merci beaucoup, le problème c'était qu'il fallait ajouter :
Pour capCreateCaptureWindow : #pragma comment (lib, "Vfw32.lib")
Et pour capPreviewScale, capPreviewRate, capPreview: #pragma comment (lib, "User32.lib")
J'aurais une autre question stp:
hWnd_WebCam = capCreateCaptureWindow(NULL,WS_CHILD|WS_VISIBLE,0,0,320,240,(HWND)panel1->Handle.ToPointer(),0);
if (!capDriverConnect(hWnd_WC,0)){
System::Windows::Forms::MessageBox::Show("La webcam n'est pas connectée.");
exit(0);
}
capPreviewScale(hWnd_WebCam, true);
capPreviewRate(hWnd_WebCam, 66);
capPreview(hWnd_WebCam, true);
Ma question c'est pourquoi quand j'enleve le "if" (la condition) la webcam ne fonctionne pas?
Et merci d'avance!
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_louis14
Messages postés793Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention10 février 20218 11 mai 2011 à 08:23
Bonjour,
pour les librairies, je te l'avais signalé : soit on les rajoute aux propriétés du projet et mieux comme tu l'as fait par le pragma.
Pour le "if" je ne comprends pas trop ta question:
- enlever "if" de la ligne, dasn ce cas on sort pas exit(0)
- enlever toute la ligne : cette fonction est nécessaire pour connecter la fenêtre au driver de ta caméra ( du moins la première caméra). Je te conseille de lire l'aide des fonctions de vfm.
Ou de chercher des projets qui l'utilise sur ce site et qui expliquent l'usage de chaque fonction.
raikko21
Messages postés33Date d'inscriptionjeudi 30 septembre 2010StatutMembreDernière intervention24 novembre 2011 12 mai 2011 à 01:24
Salut tlm!!!
Quand je dis enlever le "if" je veux dire enlever tout ca:
if (!capDriverConnect(hWnd_WC,0)){
System::Windows::Forms::MessageBox::Show("La webcam n'est pas connectée.");
exit(0);
}
Psq c'est un message d'erreur qui s'affiche si la camera n'est pas connectée?
En ce qui concerne les fonctions de la camera je les ai lu et essayé (enfin la plupart).
cs_louis14
Messages postés793Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention10 février 20218 12 mai 2011 à 08:11
Bonjour,
Dans ce cas, je te conseille de mettre un message du genre " branchez votre caméra et refaire la procédure d'initialisation.
Sinon je ne vois pas ce qui te gêne, c'est tout de même normal d'arrêter si la caméra n'est pas branchée.