मैं एक संसाधन फ़ाइल में मौजूद छवि के लिए एक पैक यूआरआई कैसे बना सकता हूं?पैक यूआरआई को एक resx फ़ाइल में एम्बेडेड छवि के लिए
मैं इसे एक फ़ोल्डर छवियाँ कहा जाता है, तो एक संसाधन Assets.resx बुलाया फ़ाइल है में एक विधानसभा MyAssembly.Resources.dll
कहा जाता है। इस संसाधन फ़ाइल में मेरी छवि है (MyImage.png कहा जाता है)। कोड मैं की लाइन है:
uri = new Uri("pack://application:,,,/MyAssembly.Resources,Culture=neutral,PublicKeyToken=null;component/Images/Assets/MyImage.png");
लेकिन जब मैं मैं संदेश के साथ एक IOException प्राप्त एक नया BitmapImage के निर्माता को यह यूआरआई की आपूर्ति करने की कोशिश
पता नहीं लगा सकता संसाधन 'छवियों/संपत्ति /myimage.png '।
नोट मैं एक ही विधानसभा जो मैं एक पैकेट यूआरआई का उपयोग कर ठीक प्राप्त कर सकते हैं में अन्य ढीली छवियां हैं, उन छवियों को उनके निर्माण कार्रवाई संसाधन के लिए सेट पर वे एक resx फ़ाइल में एम्बेडेड नहीं कर रहे हैं। क्या मुझे पथ में resx फ़ाइल का नाम शामिल करना चाहिए?
(मैं resx फ़ाइलों में छवियों को एम्बेड करने के लिए देख रहा हूं ताकि मैं सही छवि को पुनर्प्राप्त करने के लिए यूआई संस्कृति सेटिंग्स का लाभ उठा सकूं (छवि में टेक्स्ट है))।
आपको क्या लगता है यह पैक: 'का उपयोग संभव है बनाता है: योजना
ImageSource रूपांतरण के लिए बिटमैप? यह सामान्यीकृत ओपन पैकेजिंग सम्मेलन चश्मा से संबंधित है। तो यूरी अनुप्रयोग पैकेज के संसाधनों को इंगित करता है, न कि .NET एम्बेडेड संसाधनों के लिए। हालांकि यह एक और योजना/प्रोटोकॉल के साथ संभव हो सकता है (आप एम्बेडेड संसाधनों के लिए इस कस्टम प्रोटोकॉल को फिर से शुरू कर सकते हैं, जैसे 'नई उरी ("resx: // blabla") ')। –
@ सिमोन मॉरीयर मैं सोच रहा था कि ऐसा करने का एक तरीका होना चाहिए क्योंकि आप XAML से रेक्स फ़ाइलों में तारों से लिंक कर सकते हैं, इसलिए यह संभावना नहीं होगी कि एक ही फ़ाइल में एम्बेडेड अन्य संसाधन प्रकारों तक पहुंचने का कोई तरीका न हो, और एक यूआरआई संसाधन के लिए पथ का वर्णन करने का एक तरीका है। यदि आपके पास कस्टम प्रोटोकॉल का उपयोग करने के बारे में कोई सुझाव है, तो मुझे यह सुनकर खुशी होगी। ढीली (गैर-पाठ) छवियों को सभी पैक यूआरआई का उपयोग करके संदर्भित किया जाता है, इसलिए यदि संभव हो तो मैं निरंतरता बनाए रखना चाहता था। आंतरिक के विस्तृत स्पष्टीकरण के लिए – slugster