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
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..
[..] Disposer des applications comme dans une mosaique
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
Re: [..]Disposer des applications comme dans une mosaique
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.
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.
Re: [..]Disposer des applications comme dans une mosaique
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:
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
#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