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 :

sauvegarde de graphiques


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Par défaut sauvegarde de graphiques
    Bonjour,

    Je veux sauvegarder le plot d'une interface graphique sous un format image.

    j'ai essayé deux possibilités:

    1-D'abord avec le print:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print -dbmp C:\sauvegarde_image;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print -dbitmap-r500 C:\sauvegarde_image
    je récupère une impréssion écran de mon interface, et je veux récupérer uniquement le plot.

    2-en suiteen utilisant GETFRAME,FRAME2IM, et IMWRITE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    essai_sauvegarde_image = GETFRAME(gcf);
        [sauvegarde_im,MAP] = FRAME2IM();    
        imwrite(handles.axes1,'C:\sauvegarde_image_classification','bmp');
    dans ce cas j'ai un broblème constant avec la fonction FRAME2IM(je ne voie pas trop en fait elle prend quoi comme argument)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ??? Undefined function or method 'FRAME2IM' for input arguments of type
    'double'.

  2. #2
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    Tu peux sauvegarder ton graphique de l'image simplement ca:

    Tu trace ton graphique a l'aide du command window.

    Par example:

    Le graphique du sin(x):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    >> x=0:0.1:2
    >>y=sin(x)
    plot(x,y)
    Et il ouvre ta figure. Tu clique sur File->Save as et du menu Save as type tu choisis Bitmap file *.bmp.

    Aussi tu peux utiliser la fonction print:


    Mais la premiere methode est aussi rapide.

    Seulement tu trace ton graphique et tu donnes les variables et apres tu trace le graphique avec plot ou ce que tu as.

    Et dans la figure tu clique Save as et tu sauve comme image la figure.

    J'espere que ca t'aides!

    Bonne chance,

    Michel

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Par défaut
    Salut Michel,

    en programmant avec GUIDE mes interfaces ne contiennent pas de File save,
    j'ai ajouté une option save a ma toolbar et je veux lui affecter une fonction callback de sauvegarde du graphe en cours de d'affichage.

    pour le >>print -bmp ,je récupère seulement un scan de toute l'interface graphique et je veux récupérer seulement le graphe pour pouvoir l'utiliser après.


    merci pour ta réponse.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2009
    Messages : 32
    Par défaut
    Bonsoir,

    J'ai eu un problème similaire. Admettons que l'axe où tu plot est dans handles.axes1, tu peux sauvegarder ton image en faisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    I = getframe(handles.axes1,get(handles.axes1,'OuterPosition'));
    imwrite(I.cdata, 'fichier.png');
    Tu peux aussi changer l'extension bien entendu. Maintenant, ton plot n'aura que la zone de "dessin", pas la numérotation des axes ni le titre, etc.
    Pour remédier à ça j'ai mis mon axes1 dans un uipanel (un peu plus grand). J'ai ensuite fais une image de la figure courante dans le rectangle délimité par l'uipanel. Ca marche impec' chez moi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    I = getframe(gcf,get(handles.uipanel1,'Position'));
    imwrite(I.cdata, 'diagramme_phase.jpg');
    Si jamais, tout ca est sur la page: Lien sur le forum

    Voila voila, bonne soirée,

    N.

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Par défaut
    Bonjour weedcat ,

    j'ai essayé la solution que tu as proposé ça marche!

    Merci bien pour ta réponse

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

Discussions similaires

  1. Sauvegarder un graphique sans l'afficher
    Par babaorum dans le forum MATLAB
    Réponses: 2
    Dernier message: 13/10/2008, 14h25
  2. Réponses: 4
    Dernier message: 28/06/2007, 10h40
  3. Sauvegarder un graphique
    Par pelotudo dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 17/05/2007, 12h46
  4. [VBA-E] sauvegarde de graphique
    Par cufy59 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/04/2007, 19h29
  5. Sauvegarder un graphique
    Par Juju23 dans le forum MATLAB
    Réponses: 4
    Dernier message: 02/03/2007, 10h13

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