मेरी असेंबली में BuildAction == संसाधन के साथ एक छवि शामिल है। मैं इस एम्बेडेड संसाधन से बिटमैप इमेज प्राप्त करना चाहता हूं।मैं संसाधन से बिटमैप छवि कैसे प्राप्त कर सकता हूं?
मैं इस तरह फ़ाइल से एक BitmapImage लोड कर सकते हैं:
var bitmap = new BitmapImage(new Uri(path));
लेकिन मैं एक उरी कि एक एम्बेडेड संसाधन छवि के पास भेजेगा कैसे बनाने के लिए?
जब मैं कोशिश करते हैं और बनाने के लिए एक 'pack URI', एक अपवाद फेंक दिया जाता है (उदाहरण के pack://application:,,,/MyImage.png
या pack://application:,,,/MyAssembly;component/MyImage.png
के लिए):
System.UriFormatException "अवैध यूआरआई: एक बंदरगाह की उम्मीद थी एक कॉलन है की वजह से वहाँ (':') मौजूद है लेकिन बंदरगाह को पार्स नहीं किया जा सका। "
मैं ठीक, UriFormatException को यह blog post
हालांकि में, उस के साथ लागू किया समस्याओं का समाधान कर पाया मैं अभी भी एक पैकेट URI से एक BitmapImage लोड करने का प्रयास अपवाद मिलता है।
pack://application:,,,/Image.png
प्रारूप का उपयोग करते समय, मुझे एक NullReferenceException मिलता है, और pack://application:,,,/AssemblyName;component/Image.png
प्रारूप का उपयोग करते समय, मुझे एक NotSupportedException मिलता है "Uri उपसर्ग पहचान नहीं है"।
सारांश मेरे समस्या यह है कि मैं का उपयोग करने के लिए एक एक प्रक्रिया में 'पैक URI' से पहले किसी भी WPF नियंत्रण/खिड़की/आदि instantiated किया गया था कोशिश कर रहा था, इसलिए 'पैक' URI योजना अभी तक नहीं था पंजीकृत (अन्य WPF आवश्यक 'सामान' भी सेट नहीं किया जाना चाहिए, क्योंकि मैन्युअल रूप से पैक योजना को पंजीकृत करने से समस्या ठीक नहीं होती है)। पैक यूआरआई का उपयोग करने के लिए मेरे डब्ल्यूपीएफ उपयोगकर्ता नियंत्रण को तुरंत चालू करने के बाद तक समाधान का इंतजार करना था।
समस्या के आपके सारांश के लिए धन्यवाद। मुझे एक ही समस्या है और आप सुझाव देने की कोशिश करेंगे। – Oskar
संभावित डुप्लिकेट [कोड में बिटमैप इमेज लोड हो रहा है] (http://stackoverflow.com/questions/801833/loading-bitmapimage-in-code) –