Click to See Complete Forum and Search --> : setting image source


edd4u
August 24th, 2009, 03:02 AM
hi, i am trying to set an image source without giving the full path. It works only with this code:
Uri uri = new Uri("C:/Documents and Settings/user/My Documents/Visual Studio 2008/Projects/player/poze/open1.jpg");
ImageSource imgSource = new System.Windows.Media.Imaging.BitmapImage(uri);
img_open.SetValue(Image.SourceProperty, imgSource);

But, if i try to run the application on other computers, it doesn't load the image, and it's obvious.

i tried to do somethig like this:
System.Environment.CurrentDirectory = "C:/Documents and Settings/user/My Documents/Visual Studio 2008/Projects/player/poze/";
and then run the code:
Uri uri = new Uri("open2.jpg",UriKind.Relative);
ImageSource imgSource = new System.Windows.Media.Imaging.BitmapImage(uri);
img_open.SetValue(Image.SourceProperty, imgSource);
but it doesn't work.
any suggestions?

BigEd781
August 24th, 2009, 11:53 AM
Add the image as an embedded resource to your project. Right click project -> properties -> resources -> add existing item.

rliq
August 24th, 2009, 09:39 PM
If you have a lot of very large images, you may wish to check out the System.Environment.SpecialFolder enumeration.

Specifically:

Environment.GetFolderPath(Environment.SpecialFolder....)