如何更改PictureBox的图片?

23

我有一个在C#中的程序,其中包含了一个PictureBox对象放置在Form中。如何更改它的图片?可供选择的图片都在bin/Pics目录下;如果需要考虑格式的话,它们是以jpeg格式存储的。

3个回答

43

将一个新的Image对象分配给你的PictureBoxImage属性。要从文件加载Image,可以使用Image.FromFile方法。在您的特定情况下,假设当前目录位于bin下面,例如:bin/Pics/image1.jpg,则应该加载这个图像:

pictureBox1.Image = Image.FromFile("../Pics/image1.jpg");

此外,如果这些图像是静态的,并且仅用作应用程序中的资源,则使用资源比文件更合适。

2
当然,这取决于您要如何处理这些图像。我更喜欢从“流”中加载图像,因为“FromFile()”方法会保持文件句柄打开直到应用程序生命周期结束。例如,当您尝试使用具有相同名称的文件覆盖图像时,这可能会导致不必要的副作用。 - Jens H
仅补充一下,我无法显示我的图像,然后想起需要添加双\,例如; pictureBox1.Image = Image.FromFile("C:\Users\bob\Documents\music.jpg"); - HeavyHead

4

如果您在项目中导入图像资源,还可以使用以下方法:

picPreview.Image = Properties.Resources.ImageName;

其中picPreview是图片框的名称,ImageName是要显示的文件名称。

*资源可以通过进入以下路径找到:项目 --> 属性 --> 资源


1
你可以使用 pictureBox1ImageLocation 属性:
pictureBox1.ImageLocation = @"C:\Users\MSI\Desktop\MYAPP\Slider\Slider\bt1.jpg";

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接