c# - पीछे कोड में छवि स्रोत बदलें-Wpf




imagesource (4)

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

आप उरीस्रोत को वास्तविक रास्ता देना चाहते हैं:

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

मुझे छवि स्रोत को गतिशील रूप से सेट करने की आवश्यकता है, कृपया ध्यान दें कि मेरी छवि नेटवर्क पर कहीं है, यहां मेरा कोड है

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;

अपवाद:

URI उपसर्ग को मान्यता नहीं है


आपको बस एक पंक्ति की आवश्यकता है:

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

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

(इमेज व्यू) / C # Img है: आपका इमेज बॉक्स

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

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

मेरे लिए किसी भी तरीके ने काम नहीं किया, क्योंकि मुझे छवि को एप्लिकेशन से जोड़ने के बजाय फ़ोल्डर से खींचने की आवश्यकता थी। नीचे दिए गए कोड ने काम किया:

 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;
        } 




imagesource