如何使用ImageLocation将图像放入我的图片框中?
问题描述:
我在我的面板中创建了一个picturebox,我想用本地图像填充它。如何使用ImageLocation将图像放入我的图片框中?
这是我迄今为止所做的,以下代码仅仅是我的面板创建代码的一小部分。
PictureBox picture = new PictureBox
{
Name = "pictureBox",
Size = new Size(100, 50),
Location = new Point(14, 17)
};
p.Controls.Add(picture);
picture.ImageLocation = @"..\Image\1.jpg";
它做的工作,但不能完全作为后我启动我的C#Windows窗体应用程序,它强制显示一个白色的盒子在中间,而不是像一个红色的叉。任何想法如何解决它?
答
设置使用picture.ImageLocation()
工作正常,图像,但是你正在使用相对路径。在构建完成后,根据.exe
的位置检查路径。
例如,如果您.exe
位于:
<project folder>/bin/Debug/app.exe
的图像将不得不在:
<project folder>/bin/Image/1.jpg
当然,你可以只设置设计时的图像(PictureBox
属性上的Image
属性片)。
如果您必须在运行时进行设置,确保知道图像位置的一种方法是将图像文件添加到项目中。例如,为您的项目添加一个新文件夹,将其命名为Image
。右键单击该文件夹,选择“添加现有项目”并浏览至图像(确保将文件过滤器设置为显示图像文件)。添加图像后,在属性表中将Copy to Output Directory
设置为Copy if newer
。
在这一点上,当你构建应用程序,你可以回复使用
picture.ImageLocation = @"Image\1.jpg";
答
如果您提供了一个错误的路径或断开的链接,如果编译器找不到图像,图片框会在其正文上显示一个X图标。
PictureBox picture = new PictureBox
{
Name = "pictureBox",
Size = new Size(100, 50),
Location = new Point(14, 17),
Image = Image.FromFile(@"c:\Images\test.jpg"),
SizeMode = PictureBoxSizeMode.CenterImage
};
p.Controls.Add(picture);
OR
PictureBox picture = new PictureBox
{
Name = "pictureBox",
Size = new Size(100, 50),
Location = new Point(14, 17),
ImageLocation = @"c:\Images\test.jpg",
SizeMode = PictureBoxSizeMode.CenterImage
};
p.Controls.Add(picture);
我不知道,你把图像文件夹结构,但你可以找到路径波纹管
picture.ImageLocation = Path.Combine(System.Windows.Forms.Application.StartupPath, "Resources\Images\1.jpg");
嗨,感谢您的回复。我如何检查路径与.exe的位置? – Thomas
这是一个相对路径...因此,无论您的可执行文件位于何处,查找1个文件夹,然后从那里查看Image Image文件夹。 –
哦。好的解决了这个问题。它现在能够加载“图片”,但应用程序加载后,它出现了一个白色的盒子而不是图像。任何想法如何解决这个问题?或者这是否与图像大小和我的图片大小? – Thomas