C#圖片存到資源檔,以及調用圖片

來源:互聯網
上載者:User

在程式中會用到圖片,有兩種方法,一種是將圖片放在運行檔案夾中,直接調用,另一種是將圖片放入資源檔中。


方法一,一般在.exe檔案同級建立檔案夾,如“ico”,然後把表徵圖放進去。在程式中代碼採用相對路徑調用。

這種方式的優點是,以後更換表徵圖比較方便,直接替換檔案即可。

代碼略。


方法二,在一些小程式中,如我們不想程式帶有一系列除.exe以外的檔案,可以採用匯入資源檔中的形式。

匯入資源檔,優點有安全、讀取調用較快(資源檔序列化儲存)、不會有額外的檔案(嵌入到程式集中)。

做法:

1. 在程式集中添加資源檔(如果已有則不需添加)。

選則程式集,添加


選擇Visual C#項,“資源檔”


添加。

2. 雙擊開啟我們剛建立的“Resource2.resx”,這裡我們就可以添加資源了。


3. 這時,當我們上傳圖片的時候,程式會自動產生一個檔案夾,這個檔案夾放置的就是我們傳上去的圖片。

4.代碼調用

假如我們上傳了一個名叫“aaa.jpg”的圖片到資源,那麼代碼裡面就只需要這樣寫:

Image image = Resource2.aaa;

這裡需要解釋一下,為什麼這麼簡單呢,首先Resource2是一個類,它是在我們添加“系統資源檔”操作後自動建立的,aaa是它的類的一個靜態屬性,是當我們成功上傳一個圖片是自動添加的。所以我們直接寫Resource2.aaa就可以了。

下面貼出Resource2類的部分代碼,作參考瞭解。

    internal class Resource1 {        //...        /// <summary>        ///   尋找 System.Drawing.Bitmap 類型的本地化資源。        /// </summary>        internal static System.Drawing.Bitmap aaa        {            get            {                object obj = ResourceManager.GetObject("GdbConnection16", resourceCulture);                return ((System.Drawing.Bitmap)(obj));            }        }        //...

可以看到

第一,類和方法的修飾是internal,也就是只能在本程式集中調用。

第二,aaa是該類的一個靜態屬性,所以直接用類名調用。

第三,aaa的類型定義的Bitmap,所以我們的Image可以直接用它來賦值。


這些都是封裝好了的,我們只需要按照一定的方式匯入,然後用代碼直接調用就OK了。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.