2010-12-15 7 views
7

क्या क्लिपबोर्ड पर आकृति मुद्रित करने का कोई तरीका है ताकि गुणवत्ता Edit-->Copy Figure विकल्प प्रदान करने के समान हो?PRINT फ़ंक्शन द्वारा क्लिपबोर्ड पर चित्र को प्रिंट करने के लिए 'एडिट -> कॉपी आकृति' विकल्प के समान गुणवत्ता के साथ कैसे मुद्रित करें?

मैं Matlab Central से प्राप्त saveppt.m का उपयोग कर पावरपॉइंट फ़ाइल में आकृति को सहेजता था। यह कल तक अच्छी तरह से काम किया। मैंने देखा कि संग्रहीत छवि गुणवत्ता किसी भी तरह खराब हो गई थी। मैंने बिल्कुल एक ही स्क्रिप्ट और एक ही स्रोत डेटा के साथ कुछ पीपीटी स्लाइड्स को पुन: उत्पन्न करने का प्रयास किया, लेकिन नई स्लाइड्स बस खराब गुणवत्ता के हैं।

मैं इस समस्या को एक छोटा सा में जांच की और पाया कि जब आंकड़ा print -dmeta चलाकर क्लिपबोर्ड में कॉपी किया है, क्लिपबोर्ड में छवि पहले से ही, अपमानित किया जाता है, जबकि अगर मैं आंकड़ा विंडो में Edit-->Copy Figure विकल्प का उपयोग, मैं चित्र विंडो में मूल छवि के रूप में स्पष्ट छवि।

आपके संदर्भ के लिए एक उदाहरण निम्नलिखित है। मैं दो अलग अलग तरीकों से उसे क्लिपबोर्ड पर आंकड़े से छवि की नकल की है, और माइक्रोसॉफ्ट पेंट कार्यक्रम में पेस्ट, और इसके बारे में एक टुकड़ा काट नीचे दिखाने के लिए:

छवि print -dmeta का उपयोग कर: stored figure using "print -dmeta"

छवि का उपयोग Edit-->Copy Figure: stored figure using "Copy Figure"

यदि आप एक्सटिक लेबल '50' की तुलना करते हैं, तो आप देख सकते हैं कि Edit-->Copy Figure से छवि चिकनी है।

शुरुआत में मैंने सोचा कि यह संकल्प की समस्या थी, लेकिन संकल्प बदलने के लिए -rN सेट करना मेरी समस्या को हल करने के लिए प्रतीत नहीं होता है, कम से कम एन < = 300 के लिए नहीं।

आपकी मदद के लिए धन्यवाद।

उत्तर

2

मुझे लगता है कि मुझे जवाब मिल गया है। प्रस्तुतकर्ता निर्दिष्ट करने के लिए print -dmeta -painters का उपयोग करना मेरी समस्या का समाधान करता है।

File-->Preference-->Figure Copy Template-->Copy Option में मैंने देखा वहाँ 3 विकल्प हैं:

  1. मेटाफ़ाइल
  2. बचाना जानकारी
  3. बिटमैप

मैंने पाया है कि अगर मैं 1 चुनें, Edit-->Copy Figure के रूप में एक ही छवि आउटपुट print -dmeta। इसलिए मैंने पुष्टि की कि मुझे जो जानकारी चाहिए वह Preserve information विकल्प में है। एक त्वरित Google खोज ने मुझे लागू रेंडरर के संभावित अंतर के बारे में चर्चा करने के लिए प्रेरित किया, और अंततः मैंने पुष्टि की कि painters का उपयोग करके क्लिपबोर्ड पर छवि को जिस तरह से मैं चाहता था प्रिंट करूँगा।

प्रश्न में छवि क्रमशः zbuffer और painters द्वारा उत्पन्न की गई प्रतीत होती है। मुझे अभी भी पता नहीं है कि paint -dmeta परिवर्तनों का डिफ़ॉल्ट प्रस्तुतकर्ता क्यों बदलता है।

6

संक्षिप्त उत्तर ... उपयोग एक ही समारोह है कि मेनू आइटम के लिए कॉलबैक में अनुरोध किया गया:

editmenufcn(gcf,'EditCopyFigure'); 


लंबा उत्तर ... मैं वास्तव में किस प्रकार मिला इस? आप my previous answer पर related question about reproducing what is done by a File menu option पर देख सकते हैं। अवधारणा एक अलग आकृति मेनू के लिए समान है। उदाहरण के लिए, इस कॉलबैक आप वर्तमान में सक्रिय आंकड़ा खिड़की के लिए चाहते हैं मिलेगा:

>> hCopyFigure = findall(gcf,'Label','Copy &Figure'); %# Handle for the "Copy 
                 %# Figure" menu item 
>> get(hCopyFigure,'Callback') %# Callback invoked when that item is selected 

ans = 

editmenufcn(gcbf,'EditCopyFigure') 

समारोह EDITMENUFCN उन कम प्रलेखित कार्यों का एक और एक है, लेकिन कोड के माध्यम से देख (edit editmenufcn.m लिखकर) से पता चलता है कि यह है कि या तो जावा को आमंत्रित करता है (यदि आप मैक पर हैं) या अनियंत्रित फ़ंक्शन UIMENUFCN।

+0

गह! बस जब मैं पोस्ट जमा करने वाला था! गति के लिए +1। बीटीडब्लू: मैटलैब में 'क्लिपबोर्ड' फ़ंक्शन भी है, जो दुर्भाग्यवश केवल तारों के लिए है। त्वरित सुधार के लिए – Jonas

+0

+1। हालांकि, अगर मैं पैरामीटर/गुण प्राप्त कर सकता हूं तो यह बहुत अच्छा होगा जो 'print -dmeta' को 'संपादित करें -> प्रतिलिपि चित्र' के रूप में अच्छा बनाता है। आखिरकार, कॉपी आकृति विकल्प मेरे नियंत्रण में नहीं है, और कल की गुणवत्ता किसी भी कारण से खराब हो सकती है, जैसा कि मैंने कल सामना किया था। मैंने अपनी जरूरत का समाधान करने के लिए अपने प्रश्न का शीर्षक बदल दिया। – YYC

+0

यहां एक लेख है जिसे मैंने इस विषय के बारे में लिखा है (या सामान्य रूप से, डिफ़ॉल्ट मैटलैब टूलबार और मेनबार कॉलबैक का उपयोग और संशोधन कैसे करें): http://undocumentedmatlab.com/blog/modifying-default-toolbar-menubar-actions/ –