看板 C_Sharp 關於我們 聯絡資訊
假設專案預設命名空間叫 A,ImageFile.jpg 放在專案的 B 資料夾中,編譯後這個影像 資源名稱會是 A.B.ImageFile.jpg,當然前提是該影像已經設定為內嵌資源。 影像放在 .resx 檔的話 Visual Studio 預設會幫你產生一個名稱相同的類別 (例如資源 檔是 Resources.resx,Visual Studio 會自動產生一個名稱為 Resource 的靜態類別, 不過要使用 Visual Sudio 建立這個資源檔才行),而該類別中會有一個屬性供你讀取影 像 (拿剛剛的 Resouece 當範例,Resource.ImageFile 屬性就會傳回這張影像)。 ※ 引述《THKLuga (東大廢柴協會會長)》之銘言: : 同標題,小弟我剛接觸C#,編輯WIN32應用程式時 : 想要讓picturebox1在執行後載入圖檔 : 要載入的圖案放在resources裡面 : 看了看MSDN裡面沒有這樣的語法 : 使用了MSDN中將內嵌資源載入的程式碼如下: : System.Reflection.Assembly thisExe; : thisExe = System.Reflection.Assembly.GetExecutingAssembly(); : System.IO.Stream file = : thisExe.GetManifestResourceStream("AssemblyName.ImageFile.jpg"); : this.pictureBox1.Image = Image.FromStream(file); : 我把程式碼放在FromLoad 事件裡面 : 其中"AssemblyName.ImageFile.jpg"這部分似乎是要改成資源的檔案名稱 : 我把圖片檔案命名為ImageFile.jpg,上面名稱也改成ImageFile.jpg : 執行後this.pictureBox1.Image = Image.FromStream(file);這行程式出問題 : 原因是傳回值為NULL...應該是找不到檔案 : 請問是哪裡出問題了呢? : 如果要放在.RESX資源檔裡面的話,又該如何更改程式碼呢? : 請教各位大大了,萬分感激 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.71.210