IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Discussion :

Taille de l'axe constant quelque soit la taille de l'image


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 245
    Par défaut Taille de l'axe constant quelque soit la taille de l'image
    dans une Figure comprenant un axe, je peux afficher des images de taille de matrice très différentes.
    et du coup j'ai un problème parce que ça change à chaque fois la taille de l'axe sur la figure et ça peut poser problème avec les autres type de figure autour (boutton, slider etc ....)

    comment on peut faire pour que l'image prenne toujours la même taille sur la figure ?

    j'ai essayé de mettre des Xlim et Ylim sur l'axe mais l'image est tronquée.
    j'ai essayé le DataAspectRatio mais ce n'est pas possible de diminuer les deux directions.

    j'aimerais un truc qui fasse que le nombre de point (la taille de l'image ne change pas, pour que quand je passe la souris dessus j'obtiens les infos "originales", juste que l'affichage change.
    en gros un dataaspectratio dont je calcul le ratio en faisant "taille de l'image/taille que je veux qu'elle prenne" mais qui me permettrait de modifier le ratio à la fois en x et en y.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 245
    Par défaut
    toujours bloqué sur mon problème.
    j'ai essayé de faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(handles.image_displayed,'Position', [22.2 7.15 103.5 40.4], 'DataAspectRatioMode', 'auto', 'PlotBoxAspectRatioMode', 'auto', 'CameraViewAngleMode', 'auto');
    à cause du commentaire dans l'aide de matlab suivant :
    "When you enable axes stretch-to-fill behavior (when DataAspectRatioMode, PlotBoxAspectRatioMode, and CameraViewAngleMode are all auto), MATLAB stretches the axes to fill the Position rectangle. When you disable stretch-to-fill, MATLAB makes the axes as large as possible, while obeying all other properties, without extending outside the Position rectangle."

    mais aucun succès ... la place que prend l'image sur ma Figure change toujours en fonction de la taille de la matrice affichée...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 245
    Par défaut
    j'ai essayé ça aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set(handles.image_displayed,'XLimMode', 'manual', 'YLimMode','manual');
    set(handles.image_displayed,'XLim',[1,512],'YLim',[1,512],'XTick',[],'YTick',[],'DataAspectRatio',[1 1 1]);
    marche pas non plus

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Je ne suis pas sûr d'avoir tout suivi mais partons d'un exemple simple :

    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
    function test
     
    figure
     
    ax = axes('units','normalized', ...
        'position',[.3 .3 .5 .6]);
     
    uicontrol('string', 'Click !', ...
        'callback', @cb)
     
        function cb(obj,event)
     
            r = round(rand*500);
            c = round(rand*500);
     
            cla(ax)
     
            imagesc(rand(r,c),'parent',ax);
     
        end
     
    end

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 245
    Par défaut
    alors dans ton exemple l'image prend effectivement tout le temps la même taille,
    mais pas dans mon cas ...

    j'initialise ma fenetre comme ça quand le main GUI s'ouvre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(handles.image_displayed,'units', 'normalized', 'Position', [0.111 0.150 0.52 0.77]);
    et j'ai essayé sans et avec cette ligne suivante aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(handles.image_displayed,'XLim',[1,512],'YLim',[1,512],'XTick',[],'YTick',[],'DataAspectRatio',[1 1 1]);
    et pour afficher l'image j'utilise la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    imshow(im_displayed);
    set(handles.image_displayed,'CLim', [cmin cmax]);
    ou

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2007
    Messages : 245
    Par défaut
    ahah,

    c'est le imshow qui fout la merde ....

    j'aurais du utiliser le set(handles.image_displayed,'CData', que je voulais utiliser au début .....

    merci pour l'aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fond fixe quelque soit la taille de la fenêtre
    Par clairetj dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 05/05/2014, 17h20
  2. Réponses: 17
    Dernier message: 14/12/2010, 17h00
  3. adaptation d'un composant quelque soit la taille de l'ecran
    Par christianf dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 23/08/2007, 17h05
  4. Etirer le bacground quelque soit la résolution de l'écran
    Par hikosaijuro dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 07/09/2005, 14h39
  5. Réponses: 2
    Dernier message: 05/08/2005, 09h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo