2010-09-21 4 views
8

एक आकृति को सहेजते समय, मैटलैब का क्या उपयोग करता है? उदाहरण के लिए, जब कोई उपयोगकर्ता फ़ाइल> सेव करें ... का चयन करता है और फिर .png या अन्य छवि प्रारूप का चयन करता है, तो दृश्यों के पीछे क्या चल रहा है?मैटलैब में, आप आकृति विंडो में "इस रूप में सहेजें ..." का उपयोग करने के रूप में एक छवि के रूप में एक छवि के रूप में कैसे सहेजते हैं?

मैं पूछ रहा हूं क्योंकि मैं बचत को स्वचालित करने की कोशिश कर रहा हूं, लेकिन जब मैं saveas या print का उपयोग करता हूं, तो परिणामी छवि वास्तव में पिक्सलेट की जाती है। हालांकि, जब मैं ऊपर वर्णित विधि का उपयोग कर आकृति को सहेजता हूं तो छवि वास्तव में अच्छी लगती है।

कमांड लाइन से अपना आंकड़ा सहेजने के लिए मुझे किस विधि का उपयोग करना चाहिए? आकृति खिड़की का उपयोग करने वाली वास्तविक विधि काम करेगी, लेकिन अगर आपके पास बेहतर समाधान हैं, तो मैं इसे सराहना करता हूं!

उत्तर

9

"सहेजें के रूप में ..." मेनू आइटम के लिए कॉलबैक फ़ंक्शन FILEMENUFCN को इनपुट इनपुट मेनू के पहले इनपुट तर्क के साथ आमंत्रित करता है स्ट्रिंग 'FileSaveAs' स्ट्रिंग होने वाला दूसरा इनपुट तर्क है। आप आंकड़ा चर hFigure में संग्रहीत संभाल है, तो निम्न आदेश यह आंकड़ा विंडो में "इस रूप में सहेजें ..." मेनू आइटम पर क्लिक करने के लिए बराबर होना चाहिए:

>> filemenufcn(hFigure,'FileSaveAs'); 


कुछ नोट्स। ..

  • समारोह FILEMENUFCN केवल आंशिक रूप से प्रलेखित है। आप कमांड विंडो में help filemenufcn कर सकते हैं, लेकिन ऑनलाइन दस्तावेज़ में इसके लिए कोई प्रविष्टि नहीं है। MATLAB 2009a में, समारोह निम्न फ़ोल्डर में पाया जा सकता:

    C:\Program Files\MATLAB\R2009a\toolbox\matlab\uitools\filemenufcn.m 
    

    समारोह कोड के माध्यम से देख रहे हैं, ऐसा लगता है कि यह अंततः समारोह SAVEAS फाइल या समारोह HGEXPORT .fig के लिए (अतिरिक्त इनपुट तर्क के साथ कॉल या तो) अन्य फ़ाइल प्रकारों के लिए।

  • मैं आंकड़ा खिड़की और उसके मेनू के बच्चों के माध्यम से खोज के द्वारा "इस रूप में सहेजें ..." मेनू आइटम के लिए कॉलबैक नीचे का शिकार करने में सक्षम था। आप इसे root property 'ShowHiddenHandles' से 'on' पर सेट करके और फिर GET कमांड का उपयोग कर आकृति विंडो और उसके मेनू के 'Children' properties के माध्यम से अपने आप कर सकते हैं। FINDALL कमांड का उपयोग करने का एक विकल्प है, यह मानते हुए कि आप उन वस्तुओं के कुछ गुणों को जानते हैं जिन्हें आप ढूंढ रहे हैं। उदाहरण के लिए, इस वर्तमान आंकड़ा खिड़की के लिए "फ़ाइल" मेनू पर संभाल पाएंगे:

    >> hFileMenu = findall(gcf,'Label','&File'); 
    

    और यह "इस रूप में सहेजें करने के लिए संभाल मिल जाएगा ..."मेनू आइटम और उसके कॉलबैक प्रदर्शित:

    >> hSaveAs = findall(hFileMenu,'Label','Save &As...'); 
    >> get(hSaveAs,'Callback') 
    ans = 
    filemenufcn(gcbf,'FileSaveAs') 
    
+1

धन्यवाद, तुम मुझे सही रास्ते पर डाल मैं इस का उपयोग कर समाप्त हो गया: http://www.mathworks.com/matlabcentral/newsreader/view_thread/239960 सेटिंग सेट करना। फॉरमेट = 'पीएनजी' इसे बिना पिक्सलेशन के सहेजा गया। – tylerthemiler

+0

@tylerthemiler: हाँ, ऐसा लगता है कि फ़ंक्शन [HGEXPORT] (http://www.mathworks.com/help/techdoc /ref/hgexport.html) अंततः पीएनजी छवियों को सहेजते समय (कुछ समाचार इनपुट थ्रेड में दिखाए गए कुछ अतिरिक्त इनपुट तर्कों के साथ) कहा जाता है। – gnovice

+1

धन्यवाद! QOTSA चट्टानों btw। – tylerthemiler

2

मुझे आपके बारे में पता नहीं है, लेकिन मेरे लिए सहेजी गई छवि अच्छी लगती है।

कोड उदाहरण:

... create some figure ... 
saveas(gcf, 'some_figure.png'); 

एक उपयोगकर्ता निर्दिष्ट संकल्प उपयोग सेट करने के लिए:

print(gcf,'some_figure','-dpng','-rSOMENUMBER') 

जहां संकल्प के लिए इस्तेमाल एक पैरामीटर SOMENUMBERis। अंतिम संकल्प (SOMENUMBER * 8) x (SOMENUMBER * 6)

संबंधित मुद्दे