Je crée une application pour afficher plusieurs vidéos simultanément (disons 2 à 10 vidéos). Je cherche fondamentalement un algorithme qui peut aider au placement des vidéos sur l'écran. Le problème auquel je suis confronté est que chaque vidéo peut avoir un rapport d'aspect différent, et je vais évidemment devoir redimensionner les vidéos pour les faire tenir à l'écran. Mais je veux les redimensionner et les ajuster de manière à maximiser l'utilisation de l'écran (et à minimiser la distorsion du rapport d'aspect). En outre, je souhaite que l'utilisateur puisse augmenter la taille d'une ou de plusieurs vidéos afin de prendre plus de place sur l'écran. L'algorithme devrait donc être stable, dans la mesure où l'agrandissement d'une vidéo ne fait pas sauter tous les emplacements.Algorithme de placement d'images multiples - Algorithme de collage
Je pose cette question dans un langage agnostique, et le fait que j'utilise la vidéo n'est pas pertinent, ce problème s'applique également aux images fixes.
Est-ce que quelqu'un connaît un algorithme de placement?
Pour aider à clarifier voici un exemple. J'ai trois vidéos, avec les tailles suivantes. Je veux que la première vidéo occupe environ 50% de l'écran et que les deux dernières vidéos occupent environ 25% de l'écran.
(464, 336) 50%
(624, 480) 25%
(608, 336) 25%
Comment les placer sur l'écran (1024x800) pour y parvenir? Je me suis dit que je diviserais d'abord l'écran en deux et que je correspondrais le mieux à la première vidéo de la moitié supérieure. Ensuite, je diviser la moitié inférieure en deux et adapter les deux vidéos restantes du mieux que je peux.
merci à l'avance
Votre solution suggérée pour l'exemple a cependant un problème: que se passe-t-il si l'utilisateur décide de renvoyer la première vidéo à sa taille normale et d'agrandir celle du bas? Si vous faisiez la même mise en page à l'envers, vous auriez des vidéos qui sauteraient, perdant de la "stabilité". –
oui ma suggestion est simple mais ça craint. J'espère qu'il y a un algorithme classique pour résoudre ce genre de problème de placement, celui qui n'est pas dur NP :) – bramp
Cela pourrait facilement être une question sur un test d'entrevue d'emploi. – nessence