Agrandir toutes les figures

Présentation
Voici un code MATLAB qui permet d'agrandir automatiquement toutes les fenêtres (objets Figures)
Téléchargement
Compatibilité
Linux Mac Windows
0  0 
Téléchargé 35 fois Voir les 6 commentaires
Détails
Catégories : Interface graphique
Avatar de mr_langelot
Membre habitué
Voir tous les téléchargements de l'auteur
Licence : Autre
Date de mise en ligne : 13 avril 2013




Avatar de Caro-Line Caro-Line - Expert éminent sénior https://www.developpez.com
le 03/09/2009 à 23:06
Pour l'améliorer je te conseille un petit tour par la
Comment obtenir une interface graphique qui s'ouvre en plein écran ?


Sachant aussi que la résolution de l'écran s'obtient ainsi :
Code : Sélectionner tout
res = get(0,'screensize')
Avatar de mr_langelot mr_langelot - Membre habitué https://www.developpez.com
le 03/09/2009 à 23:17
oui, mais bon, comme il est dit

Malheureusement, ceci n'assure pas toujours que la figure obtenue sera plein écran

et c'est vrai que ça ne fait pas du plein d'écran chez moi!

Mais, je tiens compte de ta pertinente remarque!
Avatar de Jerome Briot Jerome Briot - Rédacteur/Modérateur https://www.developpez.com
le 04/09/2009 à 9:09
Il y plusieurs contributions sur le FEX : http://www.mathworks.com/matlabcentr...igure+maximize

Malheureusement, on s'y perd un peu... il serait peu être utile de faire un rapport de test sur toutes ces contributions
Avatar de mr_langelot mr_langelot - Membre habitué https://www.developpez.com
le 04/09/2009 à 9:25
Tiré de ,

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
h = get( 0, 'Children' ); 
 
 
for j = 1 : numel(h) 
     
    if ishandle(h(j))          
        units=get(h(j),'units'); 
        set(h(j),'units','normalized','outerposition',[0 0 1 1]); 
        set(h(j),'units',units); 
    end        
     
end
Avatar de Caro-Line Caro-Line - Expert éminent sénior https://www.developpez.com
le 04/09/2009 à 9:34
Ne serait-il pas plus efficace plutôt que de prendre tous les enfants de 0 puis de faire un test avec ISHANDLE, d'utiliser FINDOBJ (ou FINDALL si on veut atteindre aussi les figures invisibles) sur 0 avec le type figure ?

Et dans ce cas je pense que tu pourrais même te passer de la boucle.
Avatar de mr_langelot mr_langelot - Membre habitué https://www.developpez.com
le 04/09/2009 à 13:39
Merci Caro-line, ça revient à ça! C'est bien mieux

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
h=findall(0, 'Type', 'figure'); 
 
if numel(h) > 0 
 units=get(h,'units'); 
 set(h, 'units', 'normalized', 'outerposition', [0 0 1 1]); 
 for j = 1 : numel(h) 
  set(h(j),'units',units{j}); 
 end 
end
J'avais oublié de préciser, mais c'est important, c'est testé sous Matlab 6 R12.1
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
Contacter le responsable de la rubrique MATLAB