How do I add an image to a label?

2019-03-07 08:26发布

I have to add image to my label, but I can't find solution how to do this. I'm trying by use this:

        InitializeComponent();
        url = Directory.GetCurrentDirectory() + @"/Cards/cardSkin.png";
        mylabel.Background = new ImageBrush(new BitmapImage(new Uri(url)));

I don't know even if I'm using this right, I just copied this from others project what we did with class. Anyway, I tried to create Image img = Image.FromFile("YourFile.bmp"); but I don't why, .FromFile wasn't working for me. Anyone of you guys have the other way to make label as picture(background) and help newbie do this? :D

Thrown Exception:

Error 1 'System.Windows.Controls.Image' does not contain a definition for 'FromFile.

3条回答
叼着烟拽天下
2楼-- · 2019-03-07 08:50

If you're using a Label created in the Form designer, make sure to set AutoSize to false. Otherwise the .Width will be 0 because the text is empty and modifying the .Size is ignored.

Code like this will work:

label1.Image?.Dispose(); // prevent memory leak
var image = Image.FromFile(@"image.png");
label1.Size = image.Size;
label1.Image = image;
查看更多
淡お忘
3楼-- · 2019-03-07 08:55

This works for me:

Label ilabel = new Label(); // create a label
Image i = Image.FromFile("image.png"); // read in image
ilabel.Size = new Size(i.Width, i.Height); //set label to correct size
ilabel.Image = i; // put image on label
this.Controls.Add(ilabel); // add label to container (a form, for instance)
查看更多
狗以群分
4楼-- · 2019-03-07 09:01

Try this

Image img = System.Drawing.Bitmap.FromFile(filename);
查看更多
登录 后发表回答