Dans matlab, comment voulez-vous enregistrer une figure comme une image de la même manière que l'utilisation de “Enregistrer sous...” dans la figure de la fenêtre?
Lors de l'enregistrement d'une figure, quelle fonction remplit-Elle utiliser? Par exemple, lorsqu'un utilisateur sélectionne le Fichier > Enregistrer sous..., puis sélectionne .png ou autre format d'image, ce qui se passe derrière les coulisses?
Je demande car je suis en train d'automatiser la sauvegarde, mais lorsque j'utilise saveas
ou print
, l'image résultante est vraiment pixélisé. Cependant, l'image a l'air vraiment bon quand j'ai enregistrer la figure à l'aide de la méthode décrite ci-dessus.
Quelle méthode dois-je utiliser pour sauver ma figure à partir de la ligne de commande? La réelle méthode de la figure de la fenêtre utilise, mais les gars si vous avez de meilleures solutions, je serais appricate!
OriginalL'auteur tylerthemiler | 2010-09-21
Vous devez vous connecter pour publier un commentaire.
Le rappel pour le "Enregistrer sous..." dans le menu appelle la fonction FILEMENUFCN avec le premier argument d'entrée étant la poignée de la figure du menu et le deuxième argument d'entrée en cours de la chaîne
'FileSaveAs'
. Si vous avez la figure poignée stockée dans la variablehFigure
, puis la commande suivante devrait être équivalent à un clic sur "Enregistrer sous..." dans le menu, dans la figure de la fenêtre:Quelques notes...
La fonction FILEMENUFCN est seulement partiellement documenté. Vous pouvez faire
help filemenufcn
dans la fenêtre de commande, mais il n'existe aucune entrée correspondante dans la documentation en ligne. Dans MATLAB, 2009a, la fonction peut être trouvé dans le dossier suivant:En regardant à travers le code de la fonction, il apparaît que, au final, il appelle la fonction SAVEAS pour .fig fichiers ou la fonction HGEXPORT (avec d'autres arguments en entrée) pour d'autres types de fichiers.
J'ai été en mesure de traquer le rappel pour le "Enregistrer sous..." dans le menu, en cherchant à travers les enfants de la figure de la fenêtre et de ses menus. Vous pouvez le faire vous-même par la définition de la la racine de la propriété
'ShowHiddenHandles'
à'on'
et puis traversée à travers la'Enfants'
propriétés de la figure de la fenêtre et ses menus à l'aide de la OBTENEZ de l' de commande. Une alternative est d'utiliser le FINDALL commande, en supposant que vous savez certaines propriétés des objets que vous recherchez. Par exemple, cela permettra de trouver la poignée pour le menu "Fichier" pour le chiffre actuel de la fenêtre:Et cela permettra de trouver la poignée de "Enregistrer Sous..." dans le menu et afficher son rappel:
Oui, il semble que la fonction HGEXPORT c'est finalement appelé (des arguments d'entrée comme indiqué dans ce groupe de discussion thread) lors de l'enregistrement des images PNG.
Merci! QOTSA roches btw.
OriginalL'auteur gnovice
Je ne sais pas pour vous, mais pour moi, l'image enregistrée a l'air sympa.
Exemple de Code:
Pour définir un utilisateur spécifié résolution d'utilisation:
où SOMENUMBERis un paramètre utilisé pour la résolution.
La résolution finale est (SOMENUMBER*8) x (SOMENUMBER*6)
OriginalL'auteur George