Csharp/C#教程:在C#中从相对路径的文件中加载图片框图像分享


在C#中从相对路径的文件中加载图片框图像

我在Windows窗体解决方案中有一个picturebox图像。 用户从数据库中选择一个项目后,我想将图像加载到此图片框中。 图像的文件名将来自数据库,所有图像必须存储在应用程序文件夹( Images)的子文件夹中。 我不想在我的解决方案中包含所有这些(2000-3000图像),此外,随着数据库的增长,用户将添加更多图像。 另外,我不想编写绝对路径。 所以这不是我想要的:

pictureBox.Image = Image.FromFile(@"C:Program FilesApplicationImages" + dbase.filename); 

我想编写图像文件夹的相对路径,因此无论应用程序将安装在何处,都可以从此特定子文件夹加载图像。 我尝试过这样的事情,使用名为“test.jpg”的临时测试图像:

 pictureBox.Image = Image.FromFile(@"Imagestest.jpg"); pictureBox.Image = Image.FromFile(@"..Imagestest.jpg"); pictureBox.Image = Image.FromFile(@"|DataDirectory|Imagestest.jpg"); 

但这些都行不通。 我只能用绝对路径来工作,比如“C: Images test.jpg”。 我该怎么办?

你试过PictureBox.Load方法吗?

如果url参数指示本地文件,则推荐的格式是本地文件路径。 例如,名为myPicture.jpglocated atc:的图像文件将通过传递c: myPicture.jpg来访问url参数。 可以使用完整路径,例如https://www.contoso.com/path/images/image.jpg , 或相对路径,例如./images/image.jpg。 如果使用相对路径,则将其视为相对于工作目录。 对Load方法的调用将ImageLocation属性设置为url的值。

我会使用reflection来获取执行目录,例如:

 string ImagesDirectory = Path.Combine( Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Images" ); 

将图像加载到picturbox的最佳方法是从项目资源文件夹中加载所需的图像。

为此,请执行以下操作:

  1. 将所需图像添加到资源文件夹。
  2. 从资源文件夹将图像加载到picturebox。

    Form1.pictureBox1.Image = yourProject.Properties.Resources.YourImage;

注意:图像类型不是必需的[.bmp,.jpg等]

上述就是C#学习教程:在C#中从相对路径的文件中加载图片框图像分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/951489.html

(0)
上一篇 2021年11月18日
下一篇 2021年11月18日

精彩推荐