請參考在C#中的封裝資源檔
並請記得將建置動作(Build Action)設成內嵌資源(EmbeddedResource)
同時,依照放置位置的不同,引用方法也不同
我們將四張圖檔依照上面的方法分別放於四個位置
檔名 | 位置 |
---|---|
img.png | 直接置於該應用程式專案裡面 |
img_folder.png | 放在應用程式專案底下的folder內 |
img_dll.png | 直接置於參考的函式庫test_dll裡面 |
img_folder_dll.png | 放在參考的函式庫test_dll裡面的folder內 |
在C#裡面引用的話(i1-i4是PictureBox控制項物件)
/// get application assembly by file name
Assembly app = Assembly.LoadFrom("test_cs.exe");
Assembly dll = Assembly.LoadFrom("test_dll.dll");
/// image at project
i1.Image=Image.FromStream(
app.GetManifestResourceStream(
"test_cs.img.png"));
/// image in folder at project
i2.Image=Image.FromStream(
app.GetManifestResourceStream(
"test_cs.folder.img_folder.png"));
/// image at dll
i3.Image=Image.FromStream(
dll.GetManifestResourceStream(
"test_dll.img_dll.png"));
/// image in folder at dll
i4.Image=Image.FromStream(
dll.GetManifestResourceStream(
"test_dll.folder.img_folder_dll.png"));
注意,GetManifestResourceStream的參數字串
第一個部分不是檔名,而是命名空間(namespace)
命名空間.資料夾.檔名.附檔名
--
參考資料
Image Resources in WinForms and WPF
圖檔資源載入與不規則 Form 的製作
沒有留言:
張貼留言