Forme par dessus un champ camera

Fermé
tomyboy97 Messages postés 144 Date d'inscription dimanche 26 février 2012 Statut Membre Dernière intervention 7 mars 2019 - 22 juin 2017 à 19:03
tomyboy97 Messages postés 144 Date d'inscription dimanche 26 février 2012 Statut Membre Dernière intervention 7 mars 2019 - 27 juin 2017 à 15:00
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

4 réponses

DandypunkII Messages postés 70 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 5 octobre 2021
Modifié le 23 juin 2017 à 05:01
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
0
tomyboy97 Messages postés 144 Date d'inscription dimanche 26 février 2012 Statut Membre Dernière intervention 7 mars 2019 6
26 juin 2017 à 21:44
Le problème est que le champ caméra ne possède pas de propriété ..Altitude. Je ne peux donc pas le faire...
0
DandypunkII Messages postés 70 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 5 octobre 2021
23 juin 2017 à 06:17
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à.
0
tomyboy97 Messages postés 144 Date d'inscription dimanche 26 février 2012 Statut Membre Dernière intervention 7 mars 2019 6
26 juin 2017 à 21:45
La propriété ..Altitude n'existe pas sur le champ caméra!!
0
DandypunkII Messages postés 70 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 5 octobre 2021
27 juin 2017 à 04:28
On va ruser.
Incorpore ton champ caméra dans un superchamp (là, ..Altitude existe) et effectue la manip sur le SC, ça devrait tourner.
0
tomyboy97 Messages postés 144 Date d'inscription dimanche 26 février 2012 Statut Membre Dernière intervention 7 mars 2019 6
27 juin 2017 à 15:00
Malheureusement, ca ne fonctionne pas encore... Mais ce n'est pas grave, j'ai finalement seulement besoin que le rectangle paraisse un peu au dessus et en dessous, donc il peut passer en dessous de la caméra... Merci quand même pour votre aide
0
DandypunkII Messages postés 70 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 5 octobre 2021
27 juin 2017 à 07:16
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.
0