IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Téléchargé 13 fois
Vote des utilisateurs
0 
0 
Détails
Licence : Non renseignée
Mise en ligne le 13 avril 2013
Plate-formes : Linux, Mac, Windows
Langue : Français
Référencé dans
Navigation

Agrandir toutes les figures

Voici un code MATLAB qui permet d'agrandir automatiquement toutes les fenêtres (objets Figures)
Avatar de 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
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
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
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
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
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.