C#: Accessing image added to project folder
Solution 1
I once wondered about this too, so I figured it out and put it in a blog post. For your example, it should 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 of the image when done so you don't get any leakage :)
Solution 2
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.
Solution 3
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)
Petr
Updated on July 17, 2022Comments
-
Petr almost 2 years
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