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   -
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

  1. DandypunkII Messages postés 70 Statut Membre
     
    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
    1. tomyboy97 Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   7
       
      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
  2. DandypunkII Messages postés 70 Statut Membre
     
    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
    1. tomyboy97 Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   7
       
      La propriété ..Altitude n'existe pas sur le champ caméra!!
      0
  3. DandypunkII Messages postés 70 Statut Membre
     
    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
    1. tomyboy97 Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   7
       
      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