[..] Disposer des applications comme dans une mosaique

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
xeno
Niveau 4
Niveau 4
Messages : 79
Enregistré le : sam. 23 mai 2009 02:43
Status : Hors ligne

[..] Disposer des applications comme dans une mosaique

#1

Message par xeno »

Bonjour

j'essaye de me faire une petite application pour afficher des flux de camera de ma maison avec vlc,
je peu fixer la dimension et la position de chaque flux, jusque là ca va.
Mais j'aimerais réussir à splitter en fonction du nombre de flux vidéo afficher par exemple que mon ecran soit divisé en 4,5,6,etc.. et que chaque flux s'affiche comme dans une mosaique., j'ai du mal a trouver une formulation pour résoudre cette idée.
lorsque je n'ai qu'une seul video je fait un bête @SW_MAXIMIZE, deux video je reprend la résolution et divise par deux la hauteur.
Mais a partir de 3 video je patauge :oops:

Si vous avez des idées ou suggestions.

Merci

PS: dans mon cas je parle de flux video avec vlc, mais cela peut tout aussi bien etre valable avec des application type, word/excel/notepad/etc..
Avatar du membre
xeno
Niveau 4
Niveau 4
Messages : 79
Enregistré le : sam. 23 mai 2009 02:43
Status : Hors ligne

Re: [..]Disposer des applications comme dans une mosaique

#2

Message par xeno »

je pense avoir un début de solution.

je converti en une aire la surface de l'écran 1920*1200=2 304 00 de cette aire je divise par le nombre de fenetres par exemple 6 soit 384 000, j'obtiens une surface pour chaque application.
je divise le nombre de fenetres par 2 et avec ce nombre je divise la largeur de l'ecran 1920/2=960 j'obtiens ma largeur et pour connaitre ma hauteur je reprend la surface de ma fenetre 384 000 que je divise par 960 soit 400 j'ai donc une dimension de mes fenetres 960 x 400.
j'ai commencé a saisir mes lignes de commandes et sur mes premier test ça fonctionne a peu près bien.
Avatar du membre
Numeric
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 23 mars 2016 08:17
Status : Hors ligne

Re: [..]Disposer des applications comme dans une mosaique

#3

Message par Numeric »

Salut,
il te suffira de définir une variable $WidthMinimal et d'afficher ligne par ligne...tant que le nombre de truc à afficher n'est pas complet..

Exemple:
#include <GUIConstantsEx.au3>
#include <WinAPI.au3>


#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Form1", 282, 263, 192, 124)
GUISetBkColor(0x99B4D1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###



_WinAPI_ShowError("Nombre de videos à afficher = 1",False)
__GetDimensions(1)
Sleep(300)
_WinAPI_ShowError("Nombre de videos à afficher = 2",False)
__GetDimensions(2,$Form1)
Sleep(300)
_WinAPI_ShowError("Nombre de videos à afficher = 3",False)
__GetDimensions(3,$Form1)
Sleep(300)
_WinAPI_ShowError("Nombre de videos à afficher = 4",False)
__GetDimensions(4,$Form1)
Sleep(300)




While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg
  Case $GUI_EVENT_CLOSE
   Exit

  Case $Form1
  Case $Form1
  Case $Form1
  Case $Form1
 EndSwitch
WEnd


Func __GetDimensions($Inumber,$hwn = $Form1)
   Local $iWidth = @DesktopWidth, $iHeight = @DesktopHeight
   Local $DesktopAir = $iWidth * $iHeight
   Local $ShowNumb = $iWidth / $Inumber
   Local $GetH = $DesktopAir / $ShowNumb
   For $i = 1 To $iWidth Step $ShowNumb
      Sleep(800)
      WinMove($hwn, "", $iWidth - ($iWidth - $i), 0, $ShowNumb, $DesktopAir / $ShowNumb)
   Next
   Sleep(200)
EndFunc   ;==>__GetDimensions




 
De 0 et 1 vers les étoiles , tout part du Binaire, Numeric
Répondre