2011-01-05 73 views
0
Dim Image1 As New Bitmap(Application.StartupPath + "\Resources\Pic1.png") 

但是我得到一個錯誤....它說無效的參數。 我想從我的應用程序的資源文件夾中找到的名爲Pic1.png的圖像創建一個位圖。Visual Basic:從路徑創建位圖?

+1

在編譯時,資源通常內置在EXE中,實際上並不存儲在文件夾中,所以遵循binil的suggestio – 2011-01-05 07:27:12

回答

1

,如果你在你的Resources文件夾中的文件,你可以這樣調用它在這種情況下My.Resources.FileName

Dim Image1 As New Bitmap(My.Resources.Pic1) 
0

無效參數通常意味着文件未找到。我想如果你在msgbox之前添加一行(文件名爲&「=」& io.file.exists(filename)),你會看到。

如果您確實想通過文件系統訪問它,則需要設置要複製到本地的文件的屬性。

如果要將其作爲資源進行訪問,則需要通過項目屬性中的資源屏幕將其添加到項目中。然後,您可以使用My.Resources.filename訪問它

0

您必須確保您的調試或發佈文件夾運行的exe包含名爲「resources」的文件夾幷包含「pic1.png」。您可能需要驗證application.startuppath點喜歡這樣的路徑:

MessageBox.show(application.startuppath) 

現在你的程序啓動時,您將能夠手動驗證它做什麼你認爲它應該和文件在正確的位置。您還可以使用以下命令來檢查文件是否首先存在:

Dim Image1 as Bitmap 
If (System.IO.File.Exists(Application.StartupPath + "\Resources\Pic1.png")) Then 
    Image1 = New Bitmap(Application.StartupPath + "\Resources\Pic1.png") 
Else 
    MessageBox.show("File: " & Application.StartupPath + "\Resources\Pic1.png" & " doesn't exist. Check file and try again.") 
    End 
End If 

如果遇到任何問題,請告知我。

+0

好了,MessageBox引發了一條路徑,我嘗試跟着它,但找不到AppData文件夾在c:\ Users \ Administrator \ AppData \ Local \ Temporary Projects \ Test \ bin \ Debug .....在我的解決方案資源管理器窗口中,我有一個Resources文件夾,並有Pic1.png – Voldemort 2011-01-05 18:25:02

+0

好吧,MessageBox給了我一個路徑我的項目的Debug文件夾。但是這裏不是Resources文件夾的位置!這就是爲什麼我得到錯誤....但是,我如何訪問資源文件夾? – Voldemort 2011-01-05 18:34:14

+0

Application.StartupPath指向您的.exe文件所在的文件夾,在本例中爲debug文件夾。如果要使用Application.StartupPath,或者如果要將文件用作內置資源,則必須提供文件的完整路徑並將文件放置在那裏,則必須將該文件拖動到項目中 - >「屬性 - >資源窗口。一旦將其拖入該窗口,將該資源的屬性更改爲「嵌入.resx」。現在要訪問資源,你必須使用My.Resources.Pic1這應該爲你做。 – Davido 2011-01-05 21:34:49