2011-05-14 9 views
9

के साथ q = "/ path/to/file" का जवाब देता है, मैं एक सीजीआई स्क्रिप्ट लिखना चाहता हूं जो स्ट्रिंग के रूप में पॉज़िक्स पथ स्वीकार करता है, और इसका प्रतिनिधित्व करने वाला एक पीएनजी देता है। उदाहरण के लिए: स्क्रिप्ट स्ट्रिंग भेज दिया जाता हैवेबसर्वर एक "पथ बार" पीएनजी


तो /System/Library/CoreServices/Finder.app,

यह निम्नलिखित PNG फ़ाइल वापस आ जाएगी: /System/Library/CoreServices/Finder.app


मैक के साथ बंडल किए जाने वाले किसी भी स्क्रिप्टिंग प्लेटफॉर्म पर आधारित एक उदाहरण मेरे द्वारा ठीक है (पायथन, पर्ल, ऐप्पलस्क्रिप्ट, बीएएसएच)। मुझे शायद यह पता न हो, लेकिन मुझे यह जानने के लिए गुस्सा आ सकता है कि मुझे क्या करना है।

मुझे लगता है कि मैं क्या तलाश कर रहा हूँ एक तरह से एक NSPathCell शैली विजेट उत्पन्न करते हैं, और एक छवि फ़ाइल

उत्तर

1

आप इस प्रकार का पथ से छवि डेटा प्राप्त कर सकते हैं:

1) बनाएं एक 'NSPathControl'

2) नियंत्रण के प्रयोग करें 'setPathCtrl: toURLStr:' यह आपकी पसंद का यूआरएल प्रदर्शित करने के लिए है।

3) नियंत्रण के 'getPngDataFromNSView:' पर कॉल करें और यह आपको वांछित छवि डेटा देगा।

4) अब आप का उपयोग कर एक फाइल करने के लिए डेटा को बचा सकता है 'writePngData:'

तो Obj सी एक विकल्प नहीं है, तो आप PyObjC अजगर से पाटने का उपयोग कर सकते हैं।

+0

वास्तव में ये कदम काम करते हैं। – username

4

कि एक NSPathControl है में इसकी सामग्री डंप करने के लिए है। NSString लेने और इसे पथ घटकों में विभाजित करने के लिए, आप -[NSString pathComponents] विधि का आह्वान कर सकते हैं। यदि आप वास्तविक पीएनजी चाहते हैं, तो आपको या तो खुद को प्रतिपादन करना होगा या NSPathControl लेना होगा, इसे नियंत्रित करने वाले संदर्भ में आकर्षित करने के लिए मजबूर करना होगा, और फिर उस संदर्भ को स्वयं छवि में बदल दें।

बड़ा प्रश्न: आप क्या करने की कोशिश कर रहे हैं?

+0

यह मेरे इंट्रानेट पर चलाने के लिए वेबपैप है।मैं कभी-कभी दस्तावेज (कैसे लेख, इत्यादि) को एक साथ रखता हूं और जब भी मैं किसी फ़ाइल में पथ जोड़ना चाहता हूं, तो मैं एक स्क्रीन पकड़ने में बीमार हूं। एक सीजीआई को कॉल करना जो पीएनजी फाइलों को वापस लाता है, यह आसान बना देगा। मैं एचटीएमएल लिख सकता हूं और http://1.2.3.4/cgi?-/System/Library/foo-.png पर लिंक लिख सकता हूं जब भी मुझे पथ – username

7

संदर्भ के आधार पर, पीएनजी उत्पन्न करने के बजाय -dataWithPDFInsideRect: का उपयोग करना उचित हो सकता है।

बेशक, यदि आपको वेब उपयोग के लिए इस तरह के यूआई तत्व की छवि (विशेष रूप से एक पिक्समैप छवि) मिल रही है, तो 9 5% मौका है कि आप एक्सेसिबिलिटी गोरिल्ला से चेहरे में एक पंच के लायक हैं।

+0

हेहे हेहे को चित्रित करने के लिए एक पीएनजी की आवश्यकता होती है। और यह ठीक है अगर एक्सेसिबिलिटी गोरिल्ला को नाश्ते खाने के लिए याद किया जाता है – username

2

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

इस तरह से आप कह सकते हैं:

<?php echo prettyPathHTML('/System/Library/CoreServices/Finder.app'); ?> 
+0

समस्या है ... यह पता लगाने के लिए बहुत सारे आइकन हैं (जैसे ... हजारों)। उल्लेख नहीं करना है, मुझे यह निर्धारित करने के लिए ओएस उपयोगों को फिर से बनाना होगा कि कौन सी आइकन उन फ़ाइलों के लिए दिखाना है जिनमें आईसीएन (यानी: अधिकांश फाइलें) शामिल नहीं हैं, जिनके आधार पर वे जुड़े हैं। मज़ा नहीं। ओह हाँ, और जब ओएस को अपग्रेड किया गया है - मुझे फिर से सभी काम करना है। नहीं धन्यवाद – username

+0

सामान्य प्रतीक अस्वीकार्य, फिर? आप अपने लिए यह आसान नहीं बना रहे हैं :) –

+0

मुझे पता है :(मैं एक नौसिखिया को "कैसे करें" वेबपृष्ठ पर संदर्भित करना चाहता हूं। जितना अधिक वे आइकन देखते हैं, वे आइकन " - "वेबपृष्ठ, कम मौका वे भ्रमित हो जाएगा। – username

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

  • कोई संबंधित समस्या नहीं^_^