将图像源设置为应用程序文件夹

本文关键字:应用程序 文件夹 设置 图像 | 更新日期: 2023-09-27 18:36:16

>我正在尝试从某个路径获取图像,但该路径只能从应用程序的当前文件夹引用,而不是从本地 C: 驱动器引用。

这样做的原因是因为该应用程序即将发布,我无法将图像引用到当前PC上的同一本地位置,因为该应用程序将在许多其他PC上使用,并且该路径将无法在其他人的计算机上工作。

这是当前有效的路径:

SetDefaultImage(new Binary(File.ReadAllBytes("C:''Users''mclaasse''Desktop''Haze Update''Haze''Haze''Icons''user6.jpg")));

这就是我需要它的方式:

SetDefaultImage(new Binary(File.ReadAllBytes("Haze''Icons''user6.jpg")));

但是我收到错误:

找不到路径"C:''Haze''Icons''user6.jpg"的一部分。

有没有一个简单的解决方法可以让我的路径发挥作用?

将图像源设置为应用程序文件夹

不确定这是否正是您所需要的,但前提是您在名为 Images 的项目文件夹中的 Visual Studio 项目中user6.jpg了一个图像文件,并且图像文件的Build Action设置为 Resource ,您只需从资源文件包 URI 加载它:

var image = new BitmapImage(new Uri("pack://application:,,,/Images/user6.jpg"));

没有一个参考资料对我有用(我不知道为什么),但这有效:

string directory = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
string filePath = Path.Combine(directory, "Icons''user6.jpg");

然后检查您要查找的文件是否存在:

if (!File.Exists(filePath))
{
    MessageBox.Show("The default image does not exist", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
}
else
{
    ...
}