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 :

Enregistrer une figure dans un GUI


Sujet :

Interfaces Graphiques

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 20
    Points
    20
    Par défaut Enregistrer une figure dans un GUI
    Bonjour,
    Dans mon gui, j ai une figure dont le tag est oWPSx.
    Lorsque je lance le programme, je peux selectionner différents radio buton.
    En fonction de ces bouton, j'ai différentes courbes aui s'affiche.

    Je souhaiterais maintenant enregistre cette figure (tag=oWPSx).
    J ai essayé avec la fonction saveas mais je n'y arrive pas.

    Est ce que quelqu un peux m'aider? (sans me dire (doc saveas))

    Merci,
    Cordialement,
    Vivien

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Tu n'y arrives pas... C'est à dire?
    Qu'as-tu essayé de faire qui n'a pas marché?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    saveas(oWPSx,test.tif)
    saveas(handles.plot_oWPSx,test.tif)
    Mais aucun des 2 ne marche.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Si oWPSx est le tag de ta figure, alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    saveas(handles.oWPSx,'test.tif')
    Les guillemets sont bien spécifiés dans la documentation

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    J'avais aussi essayé cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    saveas(handles.oWPSx,'test.tif')
    Mais il me répond :
    ??? Undefined function or variable 'handles'.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Tu codes sous GUIDE? À la main?
    As-tu stocké le handle de ta figure quelque part?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    J'ai codé sous guide.

    J'ai stocker le handle comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    handles.plot_oWPSx=plot(handles.oWPSx,donnee.temps_donnee_brute,donnee.variation,'visible','off');

  8. #8
    Invité
    Invité(e)
    Par défaut
    Je parle du handle de ta figure, celui qui doit être rentré dans saveas, pas celui du plot.
    Est-tu sûr d'avoir nommé le Tag de ta figure oWPSx? Mon code devrait marcher dans ce cas.
    Autre question: où se situe ce code?

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Excuse j ai un peu de mal.
    Quelle est la différence entre le handle de ma figure et le plot de mon plot.
    Dans ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    handles.plot_oWPSx=plot(handles.oWPSx,donnee.temps_donnee_brute,donnee.variation,'visible','off');
    Le handle de mon plot est handles.oWPSx
    et celui de ma figure est handles.plot_oWPSx

    C'est bien ca ?


    Le code est situé dans le OpeningFcn

  10. #10
    Invité
    Invité(e)
    Par défaut
    Oula tu confonds un peu tout.

    • handles.oWPSx est le handle de ton objet Axes (dans lequel sont contenus tous les tracés).
    • handles.plot_oWPSx est le handle de ce que tu traces dedans (un/plusieurs objet(s) Line ici)


    Pour obtenir celui de ta figure, tu as deux moyens:
    • hObject: premier paramètre passé par la fonction OpeningFcn
    • handles.figure1 (figure1 par défaut à moins que tu n'aies changé le Tag sur GUIDE)


    Je t'invite à regarder le tutoriel Présentation des objets graphiques

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Voici le code de mon openingFCn
    Est ce que ca veut dire que mon handle de ma figure est handles.output


    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
      function mesure_relative_OpeningFcn(hObject, eventdata, handles, varargin)
    handles.output = hObject;
    donnee=load('donnee_en_cours');
     
    %-----------------------------------------------------------graphique cWPSx
    handles.plot_cWPSx=plot(handles.cWPSx,donnee.temps_donnee_brute,donnee.variation,'visible','off');
    xlabel(handles.cWPSx,'Temps (HH MM)');
    ylabel(handles.cWPSx,'Delta X (mm)'); 
    datetick(handles.cWPSx,'x','HH MM')
    set(handles.cWPSx,'YMinorTick','on')
    axis(handles.cWPSx,[datenum(2012, 3, 5, 8, 40, 0) datenum(2012, 3, 5, 9, 0, 0) -0.12 0.12]);
     
    %-----------------------------------------------------------graphique oWPSx
    handles.plot_oWPSx=plot(handles.oWPSx,donnee.temps_donnee_brute,donnee.variation,'visible','off');
    xlabel(handles.oWPSx,'Temps (HH MM)');
    ylabel(handles.oWPSx,'Delta X (mm)'); 
    datetick(handles.oWPSx,'x','HH MM')
    %set(handles.oWPSx,'YMinorGrid','on')
    set(handles.oWPSx,'YMinorTick','on')
    axis(handles.oWPSx,[datenum(2012, 3, 5, 8, 40, 0) datenum(2012, 3, 5, 9, 0, 0) -0.12 0.12]);
     
     
     
    % Update handles structure
    guidata(hObject, handles);

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    à la suite de cela j ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      % UIWAIT makes mesure_relative wait for user response (see UIRESUME)
    % uiwait(handles.figure1);

    J ai donc bien le handle de ma figure qui est handles.figure1

    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    saveas(handles.figure1,'test.tif')
    Mais toujours pas.

    Merci de votre patience.

  13. #13
    Invité
    Invité(e)
    Par défaut
    Le fait est que déjà lors de l'exécution du OpeningFcn, la figure n'est pas encore visible.

    PS: "ne marche pas" peut avoir plusieurs significations (erreurs, résultats non attendus, ...) Merci de préciser ce qu'il se passe précisément.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Avec cette syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    saveas(handles.figure1,'test.tif')
    La réponse est :
    ??? Undefined function or variable 'handles'.

  15. #15
    Invité
    Invité(e)
    Par défaut
    La variable handles étant passée par la fonction, je vois vraiment pas pourquoi tu aurais cette erreur

    PS: Merci de penser aux balises

  16. #16
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Du coup j ai essaye de creer un bouton save (push buton)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    % --- Executes on button press in save.
    function save_Callback(hObject, eventdata, handles)
    % hObject    handle to save (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
     
    saveas(handles.figure1,'test.jpg')
    mais cela m enregistre qu une petite fenetre (un huitieme de mon ecran)

  17. #17
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    On dirais qu il pense que ma fenetre gui est plus petite que ce qu elle est reelement.
    Il enregistre que le coin en bas a gauche.

  18. #18
    Invité
    Invité(e)
    Par défaut
    Ah les joies de coder avec GUIDE

    Essai d'insérer la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set(gcbf,'PaperPositionMode','auto')
    avant saveas, sinon essai de régler 'PaperPosition'

  19. #19
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 20
    Points
    20
    Par défaut
    Ca marche.
    La qualité n'est pas terrible mais bon.
    Je vais peut etre essayé de coder sans guide.
    Meric beaucoup.
    Bonne soirée
    Vivien

  20. #20
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par titus2709 Voir le message
    La qualité n'est pas terrible mais bon.
    Le format JPEG n'y aide pas. Tu peux aussi regarder la fonction print et son option -rnumber
    Dernière modification par Invité ; 08/03/2012 à 18h19.

Discussions similaires

  1. [Débutant] Sauvegarder une figure dans gui
    Par dadou2192 dans le forum Interfaces Graphiques
    Réponses: 0
    Dernier message: 16/07/2014, 07h22
  2. enregistré une image dans forms builder
    Par sofian001 dans le forum Forms
    Réponses: 4
    Dernier message: 28/06/2006, 10h18
  3. Comment enregistrer une string dans un fichier
    Par Dnx dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 23/09/2005, 14h52
  4. Réponses: 12
    Dernier message: 27/06/2005, 19h06
  5. Enregistrer une modification dans un formulaire
    Par micheline dans le forum Access
    Réponses: 5
    Dernier message: 26/06/2005, 19h13

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