.NET 下各种Resource的读取方式

1) Embedded Resource (Build Action 设置为 Embedded Resource) 在运行时使用GetManifestResourceStream读取

Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("WindowsFormsApplication1.Properties.Resources.warning.png"));

 

2) Resource (Build Action 设置为 Resource) 在运行时使用 Resource Manager读取

ResourceManager rm = new ResourceManager("WindowsFormsApplication1.g", typeof(Form1).Assembly);

            Image warImg = null;
            ResourceSet rs= rm.GetResourceSet(new System.Globalization.CultureInfo("en"),true,true);
            foreach (DictionaryEntry item in rs)
            {
                Console.WriteLine(item.Key.ToString());

                warImg = Bitmap.FromStream(item.Value as Stream);
            }

 

3) 如果是直接添加图片到.Resx资源文件中,在运行时使用Resource Manager读取, 但读取方式有不同

ResourceManager rm = new ResourceManager("WindowsFormsApplication1.Properties.Resources", typeof(Form1).Assembly);

            Bitmap warnImg = rm.GetObject("warning") as Bitmap;

 

以上是WinForm 和 WPF下的情况,在ASP.NET下还有另外一种嵌入资源方式,通过WebResourceAttribute, NOTE: 这里的image的build action必须是Embedded Resource.

添加 assembly attribute:

[assembly: WebResourceAttribute("ServerControl1.images.component.gif", "image/gif")]

客户端读取:

string imgURL = Page.ClientScript.GetWebResourceUrl(typeof(ServerControl1), ("ServerControl1.images.component.gif");

 

转载于:https://www.cnblogs.com/xixifusigao/archive/2012/02/21/2360903.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值