Hi, I would like to know following: I added the folder "Graphics" into my project and stuck a BMP in it. Now I would like to load the image from my code, but I cannot figure out how. I know its simple with resources but is there a way without adding the image into resources? Thanks
Hi,
look at this question http://stackoverflow.com/questions/154262/example-code-required-for-how-to-access-embedded-net-image-resources-in-c
To get an resource:
myNamespace.Properties.Resources.images.<imagename>
You can cast that to the type you need (or use a function for example FromFile)
You should specify on the file properties that it must be deployed when building the application :
Copy to Output Directory : Copy always
You can then access the file using the Image.FromFile method, the path will be the exact same one as in your project.
I once wondered about this too, so I figured it out and put it in a blog post.
For your example, it would be something like this:
var a = Assembly.GetExecutingAssembly(); // Or another Get method if you need to get it from some other assembly
var image = Image
.FromStream(a.GetManifestResourceStream("DefaultNameSpace.Graphics.image.bmp"));
Remember to mark the image as an Embedded Resource and to dispose it when done :)
You can load an image directly from the filesystem
Image img = Image.FromFile( "\Graphics\ImageName.bmp" );
The MSDN documentation is here
http://msdn.microsoft.com/en-us/library/system.drawing.image.fromfile.aspx
Obviously you would need to know the directory and name you are loading from.