C#中使用资源文件保存图片和皮肤文件的使用
在你的winform程序中是否用到了大量圖片?背景,按鈕效果,邊角效果圖片等等,這么多的圖片存放起來比較費(fèi)事,一不小心弄丟一張還會(huì)導(dǎo)致窗體效果出了問題。這種情況下,可以考慮使用資源文件來保存這些圖片,使用資源文件要用到如下兩個(gè)類:
ResourceWriter,以系統(tǒng)默認(rèn)的格式將資源寫入輸出文件或輸出流。無法繼承此類。
ResourceManager,提供在運(yùn)行時(shí)方便地訪問區(qū)域性特定資源的途徑。
資源文件的后綴名一般都是.resources,所以,你命名一個(gè)資源文件,然后將圖片或者文件等內(nèi)容,按名稱——文件對(duì)應(yīng)保存進(jìn)去,就可以了。如下代碼可實(shí)現(xiàn)保存這些內(nèi)容:
??????? 有兩張圖片top.png和center.png,還有一個(gè)字符串"今天天氣不錯(cuò)!",保存至資源文件MyFirstResourceFile.resources。
ResourceWriter resourceWriter = new ResourceWriter(@"F:\MyFirstResourceFile.resources"); Image imageTop = Image.FromFile(@"F:\imageFile\top.png"); Image imageCenter = Image.FromFile(@"F:\imageFile\center.png"); resourceWriter.AddResource("imageTop", imageTop); resourceWriter.AddResource("imageCenter", imageCenter); resourceWriter.AddResource("resourceString", "今天天氣不錯(cuò)!"); resourceWriter.Generate(); resourceWriter.Close();讀取資源文件里的內(nèi)容,如下代碼:
ResourceManager resourceManager = ResourceManager.CreateFileBasedResourceManager(@"MyFirstResourceFile", @"F:\", null); Image rimageTop = resourceManager.GetObject("imageTop") as Image; Image rimageCenter = resourceManager.GetObject("imageCenter") as Image; string resourceString = resourceManager.GetObject("resourceString") as String;2、如何使用皮膚
??? 使用資源文件保存大量的圖片你也覺得麻煩的話,那么就是用皮膚吧,關(guān)于如何制作ssk皮膚文件,這里就不說了,也比較麻煩,需要圖片的紋理,顏色什么的,有專門的資料介紹這個(gè)的。這里就簡單說一下,做好的皮膚如何使用吧。使用皮膚需要用到一個(gè)dll,IrisSkin2.dll,網(wǎng)上下載的地方挺多,http://download.csdn.net/detail/yysyangyangyangshan/3919723。
????? 那就先下載一個(gè)能用的皮膚文件mySkin.ssk來使用,http://download.csdn.net/detail/yysyangyangyangshan/3919755。將IrisSkin2.dll添加至引用,生成后,在工具欄就有一個(gè)SkinEngine,然后拖至你的窗體中。在構(gòu)造器或者Form_Load什么地方,加入下代碼。
窗體就加上了皮膚。
未加皮膚前:
加皮膚后:
皮膚使用代碼:http://download.csdn.net/detail/yysyangyangyangshan/4140313
總結(jié)
以上是生活随笔為你收集整理的C#中使用资源文件保存图片和皮肤文件的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Excel文件损坏 打开时全是乱码怎么办
- 下一篇: 利用C#线程窗口调试多线程程序