2013-03-20 110 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");