2010-09-24 35 views
28

benim görüntü Ağında yerde olduğunu unutmayın, dinamik görüntü kaynağını ayarlamak gerekir, işte kodudurDeğişim görüntü kaynağı - 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; 

İstisna:

URI öneki tanınmadı

cevap

47

sadece bir satır gerekir:

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

Sen @AymanSammoudi Bu WPF için çalışmaz Eğer –

4

Burada kullandığınız paket sözdizimi, dosya sisteminizde boş bir dosya için değil, uygulamanız içinde Kaynak olarak bulunan bir görüntü içindir.

Sadece UriSource gerçek yolu geçmek istiyorum:

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

Hepiniz yanlış! Neden? İhtiyacınız olan tüm Çünkü bu kod çalışmak için:

/C# Img (görüntü Görünümü) 'dir

:

olduğu gibi bu tutun Görüntü kutusu, değişiklik olmadan ("ms-appx: ///) Bu kodu Uygulamanızın adı değil Görüntüler projenizdeki klasörünüzdür. dog.png dosyanizda dosyasi yer almaktadir, ayni zamanda klasörüm 'Görüntüler' ve dosya 'dog.png' Yani uri is : "ms-appx: ///Images/dog.png" ve benim kod:


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

Bu kod pencereleri RT ve Windows Phone değil, WPF – Ali

+1

için çalışan bir kelimesi kelimesine dize kullanırsanız ters eğik çizgi kaçış gerekmez Son zamanlarda –

51

Yukarıdaki çözümlerin hiçbiri benim için işe yaramadı. Ama bunu yapan i uygulamaya eklemeden yerine bir klasörden görüntü çekmeye gerektiği gibi yöntemlerin

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

+1. Ayrıca benim için çalışan tek şey de. –

+0

! Mükemmel ve iş –

+2

UWP'nin yalnızca Mutlak URI'leri kabul ettiği için bu _doesn't_'ın UWP'de çalıştığını unutmayın. İşte ben nasıl yaparım: 'myImage.Source = yeni BitmapImage (yeni Uri (yeni Uri (Directory.GetCurrentDirectory(), UriKind.Absolute), yeni Uri (@"/Images/foo.png ", UriKind.Relative))) ; ' – Thought

2

Yok benim için çalıştı. Aşağıdaki kod çalıştı:

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