bonjour,

J'ai déjà posté un message dans lequel je m'intérrogeais sur l'existence ou la non-existence d'une méthode pour créer une sorte de scroll-bar ou slider dans une figure. Celle-ci aurait permis, dans le cas où la figure créée sous la GUI est plus grande que l'écran de l'ordinateur, de pouvoir "naviguer" dans la figure, et ainsi d'en voir les différents composants.
D'après les différentes réponses que l'on m'a fournies, il s'avère compliqué de réaliser une telle interface.

Je m'intéresse à présent à une autre méthode : redimmensionner la figure de façon à ce qu'elle tienne toujours en entier sur l'écran, et ce quelque soit le type d'écran (dimensions, ratio entre les dimensions).

J'ai essayé ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
set(0,'Units','characters');
set(handles.figure1,'Units','characters');
 
% calcul des caractéristiques de la figure
position = get(handles.figure1,'Position');
largeurFigure = position(3);
hauteurFigure = position(4);
 
% calcul des caractérisques de l'écran
tailleEcran = get(0,'ScreenSize');
largeurEcran = tailleEcran(3);
hauteurEcran = tailleEcran(4);
 
% calcul du ratio
ratioFigure = largeurFigure/hauteurFigure;
 
% adaptation de la largeur de la figure à la largeur de l'écran
if largeurEcran < largeurFigure
   largeurFigure = largeurEcran;
   hauteurFigure = largeurFigure/ratioFigure;
% adaptation de la hauteur de la figure à la hauteur de l'écran
elseif hauteurEcran < hauteurFigure
   hauteurFigure = hauteurEcran;
   largeurFigure = hauteurFigure * ratioFigure; 
end
 
% mise à jour
position = [position(1),position(2), position(3), hauteurFigure];
set(handles.figure1,'Position',position);


Mais malheureusement, il y a un petit soucis que je n'arrive pas à m'expliquer :
suivant que je travaille sur un ordinateur de bureau (17 pouces) ou un ordinateur portable (15.4 pouces), hauteurFigure (lue dans le workspace) n'est pas la même. Pour l'ordinateur portable, elle est d'environ 57 (characters), alors que sur le PC de bureau, elle est d'environ 67 (characters). La hauteur de la figure lue sur le "property inspector" est d'environ 67 (characters).
Comment cela se peut-il ?
Comment faire pour déterminer les véritables dimensions de la figure au travers d'une (ou plusieurs) lignes de code ?

Merci par avance pour vos réponses.

Camille