Forme par dessus un champ camera
tomyboy97
Messages postés
193
Date d'inscription
Statut
Membre
Dernière intervention
-
tomyboy97 Messages postés 193 Date d'inscription Statut Membre Dernière intervention -
tomyboy97 Messages postés 193 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je souhaite faire afficher un rectangle rouge par dessus un champ Camera en Windev 21... Lorsque je place le rectangle dans le mode création de la fenêtre, il apparaît par dessus le champ camera... Pourtant, lorsque j'exécute mon programme, le rectangle est caché par l'image retransmise par la caméra. Est-il possible de faire en sorte que le rectangle demeure visible et qu'il ne soit pas caché ?
Merci à l'avance :)
Thomas
je souhaite faire afficher un rectangle rouge par dessus un champ Camera en Windev 21... Lorsque je place le rectangle dans le mode création de la fenêtre, il apparaît par dessus le champ camera... Pourtant, lorsque j'exécute mon programme, le rectangle est caché par l'image retransmise par la caméra. Est-il possible de faire en sorte que le rectangle demeure visible et qu'il ne soit pas caché ?
Merci à l'avance :)
Thomas
4 réponses
-
Bonjour,
Encore ton pb de webcam :)
Tu devrais pouvoir régler cela avec la propriété ..Altitude.
En supposant que ton champ de capture soit "CAM_MaWebcam", la ligne :CAM_MaWebcam..Altitude=1
dans la partie initialisation de ta fenêtre devrait résoudre le problème.
Plus d'info sur la propriété en suivant ce lien : https://doc.pcsoft.fr/fr-FR/index.awp?2510002= et en tapant "Altitude".
Après, tu peux affiner le résultat en jouant sur les altitudes g^race à EnumèreChamp, mais je pense que c'est une autre histoire.
Au fait, pense à marquer ton post de la semaine dernière comme résolu.
Si c'est simple, c'est du Windev -
On va faire plus propre :
nAltCam est entier //Altitude du champ de la Webcam nAltRect est entier // Altitude du champ rectangle rouge nAltCam=CAM_Webcam..Altitude nAltRect=FRM_RectangleRouge..Altitude SI EnModeTest() ALORS Trace ("Avant échange"+CRLF) Trace ("Altitude de la Webcam :"+nAltCam+CRLF) Trace ("Altitude du rectangle :"+nAltRect+CRLF) FIN SI nAltRect<nAltCam ALORS //On va échanger les altitudes SI EnModeTest() ALORS Trace("Le rectangle est sous la Webcam") FIN CAM_Webcam..Altitude=nAltRect FRM_RectangleRouge..Altitude=nAltCam SI EnModeTest() Trace("On a changé les altitudes") FIN FIN
En généralisant :PROCEDURE PlaceDessus(sNomChampBas est chaine, sNomChampHaut est chaine) //sNomChampBas : Nom du champ qui est en bas et qui doit être placé devant //sNomChampHaut: Nom du champ à placer en arrière plan par rapport au champ bas //Ces deux variables sont là pour faciliter la lecture du code nAltBas est entier //Altitude du champ qui doit être au prmier plan nAltHaut est entier //Altitude du champ qui doit être en arrière plan nAltBas={sNomChampBas}..Altitude nAltHaut={sNomChampHaut}..Altitude SI nAltBas<nAltHaut ALORS //On doit faire l'échange PermuterAltitude(sNomChampBas,sNomChampHaut) FIN PROCEDURE PermuterAltitude(sChamp1 est chaine,sChamp2 est chaine) //Un swap classique //L'ordre des champs n'a pas d'importance nAltBuff est entier //Buffer d'altitude pour l'échange nAltBuff={sChamp1}..Altitude {sChamp1}..Altitude={sChamp2}..Altitude {sChamp2}..Altitude=nAltBuff
PS: Je n'ai pas pu tester, mon poste de dev est en maintenance, mais l'idée est là. -
On va ruser.
Incorpore ton champ caméra dans un superchamp (là, ..Altitude existe) et effectue la manip sur le SC, ça devrait tourner.
-
En fouillant dans mes archives, j'ai retrouvé un lien qui pourrait t'aider.
Il nécessite cependant d'installer VLC.
https://depot.pcsoft.fr/resource.awp?file_id=142%3Bmaj-classe-clibvlc-videolan-version-02-pour-windev&file_id=142%3Bmaj-classe-clibvlc-videolan-version-02-pour-windev
Avec la méthode SetLogo, le logo serait dans ce cas ton rectangle rouge, tu pourrais contourner le problème.