2017-02-27 1 views
0

Comment définir ImageSource comme image d'un dossier spécifique?Charger l'image d'un fichier spécifique

J'essayé de déplacer l'image dans Debug et exécutant le code suivant:

image.Source = new BitmapImage(new Uri("kafpodhlato.png")); 

Mais j'obtiens l'erreur suivante:

An unhandled exception of type 'System.UriFormatException' occurred in System.dll

Additional information: Invalid URI: The format of the URI could not be determined.

EDIT: Création d'un dossier nommé Resources, la mise il est Build action à Resource puis en utilisant le code suivant résolu mon problème.

image.Source = new BitmapImage(new Uri(@"pack://application:,,,/Resources/panamaxi.png")); 
+0

en utilisant peut-être un autre constructeur 'Uri'? –

Répondre

3

Cela devrait fonctionner:

image.Source = new BitmapImage(new Uri("kafpodhlato.png", UriKind.Relative)); 

Vous pouvez cependant vouloir charger l'image à partir d'une ressource d'assemblage par un Pack URI.

Ajoutez le fichier image à votre projet Visual Studio, par exemple. dans un dossier nommé Images. Réglez ensuite son Build Action-Resource, et le charger par

image.Source = new BitmapImage(new Uri("pack://application:,,,/Images/kafpodhlato.png")); 
+0

[lien MSDN] (https://msdn.microsoft.com/en-us/library/ms131565). –

+0

Essayé et pas d'erreur, mais l'image ne se chargera pas ... Peut-être que je dois mieux spécifier le chemin? Ou mettre l'image dans Debug résout ce problème? – ThP

+0

@ThP Voir mes modifications. Vous devriez faire de votre fichier image une ressource d'assemblage. – Clemens