Reputation: 4920
I have some images in Resources folder in my project but I want to change the PictureBox
from these resource files of the project.
Upvotes: 13
Views: 56978
Reputation: 1
Now it's Possible
pictureBox.Image = Properties.Resources.yourImagename;
Upvotes: 0
Reputation: 13
this works for your control too, if you need to call your control by a string or concatenated reference.
Just call the control type first (in this case, a picturebox). Assume i=some number and d=some string:
var i = <some number>;
var d = <some string>;
((PictureBox)this.Controls["pictureBox" + i.ToString()]).Image = (Image)Properties.Resources.ResourceManager.GetObject("dice" + d);
Upvotes: 0
Reputation: 3911
Worked for me:
(Bitmap) Properties.Resources.ResourceManager.GetObject("ImageName");
Upvotes: 0
Reputation: 5203
Right click on the project. Go to Resources tab. Select the existing option and add the image.
Now access in the code by
Image = Properties.Resources.ImageName
Upvotes: 1
Reputation: 65
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);
hope i will be beneficial to some one.
Thank you.
Upvotes: 2
Reputation: 99
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");
}
}
Upvotes: 2
Reputation: 51071
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.
Upvotes: 28