2010-09-24 17 views
28

मैं गतिशील छवि स्रोत सेट करने के लिए, कृपया ध्यान दें मेरी छवि नेटवर्क पर कहीं में है की जरूरत है, यहाँ मेरी कोड हैबदलें छवि स्रोत - WPF

BitmapImage logo = new BitmapImage(); 
logo.BeginInit(); 
logo.UriSource = new Uri(@"pack://application:,,,\\myserver\\folder1\\Customer Data\\sample.png"); 
logo.EndInit(); // Getting the exception here 
ImageViewer1.Source = logo; 

अपवाद:

यूआरआई उपसर्ग को

उत्तर

47

आप सिर्फ एक लाइन की जरूरत है:

ImageViewer1.Source = new BitmapImage(new Uri(@"\myserver\folder1\Customer Data\sample.png")); 
+5

आप @AymanSammoudi इस WPF लिए काम नहीं करेगा बैकस्लैश से बचने के लिए अगर आप एक शब्दशः स्ट्रिंग –

4

पैक सिंटैक्स जो आप यहां उपयोग कर रहे हैं वह उस छवि के लिए है जो आपके अनुप्रयोग के भीतर संसाधन के रूप में निहित है, फाइल सिस्टम में ढीली फ़ाइल के लिए नहीं।

आप बस UriSource को वास्तविक पथ पास करना चाहते हैं:

logo.UriSource = new Uri(@"\\myserver\folder1\Customer Data\sample.png"); 
0

आप सब गलत कर रहे हैं! क्यों? काम करने के लिए इस कोड को क्योंकि सभी की जरूरत है:

(छवि देखें)/सी # Img है: अपने छवि बॉक्स

रखें के रूप में है, बदलाव के बिना ("एमएस-appx: ///) इस कोड है आपका ऐप नाम नहीं छवियां आपके प्रोजेक्ट में आपका फ़ोल्डर है, आप इसे बदल सकते हैं। dog.png आपकी फ़ाइल में आपकी फ़ाइल है, साथ ही साथ मैं अपना फ़ोल्डर 'छवियां' और फ़ाइल 'dog.png' करता हूं तो यूरी है : "एमएस-appx: ///Images/dog.png" और मेरे कोड:


private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     img.Source = new BitmapImage(new Uri("ms-appx:///Images/dog.png")); 
    } 
+7

इस कोड को Windows RT और विंडोज फोन, नहीं WPF – Ali

+1

लिए काम करता है का उपयोग की जरूरत नहीं है हाल ही में होने के लिए –

51

उपर्युक्त समाधानों में से कोई भी मेरे लिए काम नहीं करता है। लेकिन ऐसा किया:

myImage.Source = new BitmapImage(new Uri(@"/Images/foo.png", UriKind.Relative)); 
+4

+1। यह भी एकमात्र चीज है जो मेरे लिए भी काम करती है। –

+0

! उत्कृष्ट और काम –

+2

ध्यान दें कि यह _Doesn't_ यूडब्ल्यूपी में काम नहीं करता है, क्योंकि यूडब्ल्यूपी केवल पूर्ण यूआरआई स्वीकार करता है। यहां बताया गया है कि मैं इसे कैसे करता हूं: 'myImage.Source = new बिटमैप इमेज (नया उरी (नया उरी (निर्देशिका। गेटक्यूरेंट डायरेक्टरी(), उरीकिंड.एब्सोल्यूट), नया उरी (@ "/ images/foo.png", उरीकिंड। रेलीटिव)) ; ' – Thought

2

तरीकों में से कोई भी मेरे लिए काम किया जैसा कि मैंने आवेदन में जोड़ने के बजाय एक फ़ोल्डर से छवि को खींचने के लिए की जरूरत है। नीचे कोड काम किया:

TestImage.Source = GetImage("/Content/Images/test.png") 

private static BitmapImage GetImage(string imageUri) 
     { 
      var bitmapImage = new BitmapImage(); 
      bitmapImage.BeginInit(); 
      bitmapImage.UriSource = new Uri("pack://siteoforigin:,,,/" + imageUri,    UriKind.RelativeOrAbsolute); 
      bitmapImage.EndInit(); 
      return bitmapImage; 
     } 
संबंधित मुद्दे