2013-03-20 133 views
-2

我想使用图像smile.jpg。我已经保存了JPG文件到所在地../project/Cam/bin/Debug/smile.jpg(路径,这部分是静态的)在c中获取文件路径#

但原来的路径是动态的,任何人都可以给我一个主意?

+0

您至少可以显示您已经做出的努力。 – amaters 2013-03-20 09:43:00

+0

你从字面上回答了自己的问题,95%只是要求它.. – 2013-03-20 09:43:14

+0

从你的问题我想提一提'上帝帮助那些Themselves' ..什么是你问目前尚不清楚.. – 2013-03-20 09:44:22

回答

1

您是否想从相对路径中获取完整路径?

如果是这样,你可以使用System.IO.Path.GetFullPath()

例如

string fullPath = System.IO.Path.GetFullPath("../project/Cam/bin/Debug/smile.jpg");

4

不太清楚这些路,但尝试 “玩”

Assembly.GetExecutingAssemblyPath.GetDirectoryName

//THIS RETURNS YOU A FOLDER WHERE YOUR APPLICATION RUNS 
var exeutingFolder = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); 

//COMBINE EXECUTING FOLDER WITH RELATIVE PATH YOU HAVE 
var resultinPath = Path.Combine(executingFolder, YOUR_PATH); 
+0

Thx让我试试看:) – user1994617 2013-03-20 09:49:02

1

有几种解决方案到底层的问题ading随机附带的应用程序中的图像:

解决方案1:资源
如果不是必要的图像文件不存在,你可以将图像简单地添加到您的程序的资源和设计师为它分配。图像文件则不需要部署。

为此,请将图像文件添加到项目中,然后将其拖到项目属性的“资源”选项卡中。

解决方案2:文件复制到
也许你想在你的输出文件夹您的图像和在运行时从文件中加载输出文件夹。那么你应该真正避免制作有关文件夹的任何假设,而是执行以下操作:

  1. 图像文件添加到您的项目,并设置其内置类型设置为“无”,让他们可以随时复制到导出目录。如果你建立你的项目,图像文件现在应该在/bin/debug/bin/release

    string assemblyPath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); 
    string smileyPath = Path.Combine(assemblyPath, "smiley.png"); 
    
  2. 在你的代码,使用汇编文件夹

这段代码获得大会文件夹,并装配路径名来命名的“smiley.png”的形象打造的文件的路径

如果您将图像添加到项目中的文件夹中,该文件夹也将在输出文件夹中创建。例如:如果您将图像放入文件夹“图像”中,则会在bin/debugbin/release中有一个文件夹“图像”。在这种情况下,您可以安全地假设以下代码将起作用:

string assemblyPath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); 
string imagePath = Path.Combine(assemblyPath, "images"); 
string smileyPath = Path.Combine(imagePath, "smiley.png");