C# 动态文件路径和图像命令

C# 动态文件路径和图像命令,c#,C#,我正在尝试创建一个文件路径,路径的末尾将是一个“images”文件夹,程序将使用Image命令加载jpeg文件。 我希望程序能够动态地知道如何从启动可执行文件的图像文件夹加载jpeg文件。 我在这个网站上找到了这个,我添加了两行代码: public static string AssemblyDirectory { get { string codeBase = Assembly.GetExecutingAssembly().Cod

我正在尝试创建一个文件路径,路径的末尾将是一个“images”文件夹,程序将使用Image命令加载jpeg文件。 我希望程序能够动态地知道如何从启动可执行文件的图像文件夹加载jpeg文件。 我在这个网站上找到了这个,我添加了两行代码:

public static string AssemblyDirectory
    {
        get
        {
            string codeBase = Assembly.GetExecutingAssembly().CodeBase;
            UriBuilder uri = new UriBuilder(codeBase);
            string path = Uri.UnescapeDataString(uri.Path);
            return System.IO.Path.GetDirectoryName(path);
        }
    }

    public static string imagePath = @"\images";
    public static string finalImagePath = AssemblyDirectory + imagePath;
如果我设置了一个断点,“finalImagePath”是: “C:\Users\My Name\Documents\Visual Studio 2010\Projects\Universal Serial Diagnostics\bin\Debug\images”

这是正确的,但我如何将其与:

     Image image = Image.FromFile(@"C:\Users\My Name\Desktop\Dip\ENV500008.jpg");
将硬编码路径替换为动态路径。 ENV500008.jpg将存储在images文件夹中。 谢谢。

string path = AppDomain.CurrentDomain.BaseDirectory + "ENV500008.jpg";

if (System.IO.File.Exists(path))
{
    Image image = Image.FromFile(path);
    // .. the rest of the code that uses the image .. 
}
公共静态字符串GetAnyPath(字符串文件名)
{
//我希望创建文件的路径是:“C:\\Users\\{my system name}\\Desktop\\Me\\create file\\CreateFile\\CreateFile\\FilePosition\\firstjson.json”
var basePath=新Uri(Assembly.getExecutionGassembly().CodeBase).LocalPath.Split(新字符串[]{“\\CreateFile”},StringSplitOptions.None)[0];
var filePath=Path.Combine(basePath,$“CreateFile\\CreateFile\\FilesPosition\\{fileName}.json”);
返回文件路径;

}
我相信您正在查找Path.GetFileName。然后与finalImagePath连接。顶层代码获取路径,如何替换变量“finalImagePath”并将其与Image.FromFile命令一起使用?Image Image=Image.FromFile(@“C:\Users\My Name\Desktop\Dip\ENV500008.jpg”);现在还不清楚你想要实现什么。Image.FromFile中包含的路径的作用是什么?虽然这样做可行,但因为我有大约100个图像要显示,所以我使用:Image Image=Image.FromFile(@finalImagePath+“\\ENV500008.jpg”);Image image5=Image.FromFile(@finalImagePath+“\\ENV510829-2.jpg”);我想请你在你的答案周围多加一些上下文。只有代码的答案很难理解。如果你能在帖子中添加更多信息,这将有助于询问者和未来的读者。好的,1)我正在尝试动态查找我的EXE文件的路径。我在这个网站上找到了答案。2) 知道路径后,我创建了一个“图像”文件夹,其中包含大约100个JPEG文件。我遇到的困难是使用IMAGE-IMAGE.FromFile(path)代码。所以我发布了上面的问题。与此同时,我一直在玩它。我终于回答了我自己的问题。我试图让我的代码工作的方式,如果用户移动了EXE文件和图像文件夹,该程序仍然可以工作。我已经移动到VS2015,现在嵌入的JPEG文件作为一种资源,更大的文件大小的EXE,但我不必担心用户移动JPEG文件。谢谢你的帮助!请将所有这些信息添加到帖子本身,而不仅仅作为评论。文章中的细节更有用。
       Image image = Image.FromFile(@finalImagePath + "\\ENV500008.jpg");

        Image image5 = Image.FromFile(@finalImagePath + "\\ENV510829-2.jpg");