How to retrieve Image from Resources folder of the project in C#

50,541

Solution 1

Consider using Properties.Resources.yourImage

Properties.Resources contains everything that you've added as a resource (see your project properties, resources tab)

Other than that, if you embed the images as resource in your project, you can get at them by calling GetManifestResourceStream on the assembly that you've embedded the images in, something like

Stream imgStream = 
    Assembly.GetExecutingAssembly().GetManifestResourceStream(
    "YourNamespace.resources.ImageName.bmp");
pictureBox.Image = new Bitmap(imgStream);

Don't forget to mark the image as an embedded resource! (You'll need to set the build action for the image in its properties window)

If you're finding that you keep getting back null from GetManifestResourceStream, you may be giving the wrong name. (It can be hard to get the names right) Call GetManifestResourceNames on the assembly; that will give you back all the resource names, and you can find the one in the list that you need.

Solution 2

string img = null;

private void btnShow_Click(object sender, EventArgs e)
{
    string imgName;
    img = textBox1.Text;
    imgName = "images/" + img + ".jpg";

    if (imgName == null)
    {
        MessageBox.Show("no photo");
    }
    else if (imgName != null)
    {
        this.picBox1.Image = Image.FromFile("images/" + img + ".jpg");
    }
}

Solution 3

Right click on the project. Go to Resources tab. Select the existing option and add the image.

enter image description here

Now access in the code by

Image = Properties.Resources.ImageName

Solution 4

Below is the Code to Fetch Image From Resources Folder. Normally we keep images in Resources Folder. but Sometime we have image name only with us. in that case you can Access images from Resources Folder using Image Name only.

Below Code will Demonstrate about it.

private System.Resources.ResourceManager RM = new System.Resources.ResourceManager("YourAppliacationNameSpace.Properties.Resources", typeof(Resources).Assembly);

PbResultImage.Image = (Image)RM.GetObject(YourPictureName);
  • YourAppliacationNameSpace means name of your Application.
  • YourPictureName means the Picture you Want to access from Resources Folder. but Picture name must be without Extension e.g. (PNG, GIF, JPEG etc)

hope i will be beneficial to some one.

Thank you.

Share:
50,541
Mobin
Author by

Mobin

I am a new developer about C# most of the time i am here for solving my project problems and helping as i can ...

Updated on July 05, 2022

Comments

  • Mobin
    Mobin almost 2 years

    i Have some images in resources folder in my project but i want to change the picture box from these resource files of the project