2012-05-20 13 views
5

मैं समाधान में किसी फ़ोल्डर से एक छवि लोड करने की कोशिश कर रहा हूं, लेकिन मुझे केवल एक त्रुटि संदेश मिलता है जो यह नहीं मिला है। मैंने क्या गल्त किया है? नीचे दिया गया कोड MainForm.cs में है जो संसाधन फ़ोल्डर के समान स्तर पर है। मदद की जाती है! धन्यवाद!समाधान में फ़ोल्डर से छवि लोड करें?

// Images 
Image imageCircle = Image.FromFile("Resources/circle.png"); 

// Set deafult picture on start 
pictureBox1.Image = imageCircle; 
+0

निर्भर करता है यह है आवेदन की किस तरह। वैसे भी, परियोजना रूट सापेक्ष पथ ('~/संसाधन/circle.png') एक अच्छी शुरुआत है। :) –

उत्तर

5

यह हमेशा निष्पादन योग्य स्थित है (बिन फ़ोल्डर) से पथ लेता है। तो यदि आप पूर्ण पथ का उपयोग करके इसे एक्सेस कर सकते हैं, तो समस्या हल हो जाएगी। या आपके पास रूट फ़ोल्डर के लिए कॉन्फ़िगरेशन आइटम हो सकता है। फिर Image.FromFile(rootFolder+ "Resources/circle.png"); की तरह पहुंचें। वैसे भी जब आप इसे तैनात करते हैं तो यह समस्या वहां नहीं होगी।

और अगर आप संसाधन फ़ाइल का उपयोग कर रहे,

<projectName>.Properties.Resources.<ImageName>; 

छवि वापस आ जाएगी।

+0

मैं उलझन में हूँ! क्या मेरे पास समाधान एक्सप्लोरर और संसाधन फ़ोल्डर/बिन/डीबग/संसाधन दोनों में एक संसाधन फ़ोल्डर होना चाहिए? ऐसा लगता है जैसे यह कोड की इस पंक्ति का उपयोग करता है: छवि छविक्रिकल = छवि। फ्रॉमफाइल ("संसाधन/Circle.png"); –

+0

आशा है कि आप उत्तर को सही तरीके से पढ़ लें। यदि आप संसाधन फ़ाइल का उपयोग कर रहे हैं तो दूसरा विकल्प आपके लिए ठीक है।लेकिन यदि आपको फ़ोल्डर के अंदर रखने की आवश्यकता है, तो अनुप्रयोग पथ को संग्रहीत करने के लिए कॉन्फ़िगरेशन विकल्प का उपयोग करें या जब आप अनुप्रयोग –

0

कार्यक्रम बिन/डिबग (जगह है जहाँ सब .dll के हैं) में निष्पादित किया जाता है, Resources फ़ोल्डर वहाँ डाल दिया।

+0

लेकिन समाधान में किसी फ़ोल्डर में क्यों नहीं? –

+0

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

+0

यह एक असाइनमेंट के लिए सिर्फ एक काम है और यह विजुअलस्टूडियो के बाहर एक कामकाजी सॉफ्टवेयर नहीं होने वाला है, लेकिन अगर ऐसा होता है, तो मैं समझता हूं कि एक फ़ोल्डर वह स्थान बेहतर है, लेकिन केवल कुछ छवियों के लिए समाधान से काम करना चाहिए, लेकिन मैंने आपके जैसे फ़ोल्डर को रखने के लिए भी परीक्षण किया है, लेकिन यह अभी भी इसे नहीं ढूंढ सकता है !? –

12

संपादित करें: फिक्स्ड टूटी कड़ियाँ

इस MSDN article पर एक नजर डालें, यह जोड़ने की चर्चा और संपादन संसाधन और क्या आपके विकल्प हैं, और यह MSDN articleResource Designer का उपयोग कर लिंक्ड और संसाधनों एंबेडेड चर्चा।

Project Properties Resources

फिर अपना फ़ाइल

enter image description here

तो फिर तुम उस तक पहुँच सकते Madurika पता चलता है की तरह का चयन करें।

अर्थात

Image imageCircle = YourPojectName.Properties.Resources.YourFileNameHere; 

enter image description here

+0

चलाते हैं तो संसाधन निर्देशिका को निष्पादन योग्य के समान स्तर में रखें, लेकिन छवियों को जोड़ने के लिए समस्या नहीं है। समस्या उन्हें कोड में काम करने के लिए है। मैंने इसका परीक्षण किया है और यह अभी भी काम नहीं कर रहा है: छवि छविक्रिकल = यूनिवर्सल कैलक्यूलेटर। प्रॉपर्टीज। स्रोत। Circle.png; –

+0

@ 3 डी-क्रिएटिव यह काम करता है अगर आप उन्हें दिखाए गए तरीके को जोड़ते हैं, तो मैंने पोस्ट करने से पहले परीक्षण किया था। यदि आप उन्हें वैसे ही जोड़ते हैं जो मैं सुझाव देता हूं कि आपको इंटेलिजेंस मिलेगा तो इसकी उपलब्धि आपको दिखाएगी कि आपको फ़ाइल एक्सटेंशन का उपयोग करने की आवश्यकता नहीं है। एक और छवि जोड़ा :) –

+0

यह आज मेरा दिन नहीं है! कुछ खुशी हुई, मुझे कुछ अजीब त्रुटि संदेश मिला, और फिर मैंने अपने सभी नियंत्रणों को फॉर्म में खो दिया !! लेकिन मेरे पास बैकअप था कि मैं अब के साथ काम कर सकता हूं :) जब मैं कोड की इस पंक्ति का उपयोग करता हूं: छवि छविक्रिकल = यूनिवर्सल कैलकुलेटर। प्रॉपर्टीज। स्रोत। सर्कल; मुझे गुणों के तहत एक लाल रेखा मिलती है !? –

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