我的项目中有一张图像存储在Resources/myimage.jpg中。我如何动态加载这张图像到位图对象?
当前回答
我查看了我的一个项目中的设计器代码,注意到它使用了这种符号
myButton.Image = global::MyProjectName.Properties.Resources.max;
其中max是我上传到项目中的资源的名称。
其他回答
比大多数提议的答案简单多了
tslMode.Image = global::ProjectName.Properties.Resources.ImageName;
你使用的是Windows窗体吗?如果你已经使用属性/资源UI添加了图像,你可以从生成的代码中访问图像,所以你可以简单地这样做:
var bmp = new Bitmap(WindowsFormsApplication1.Properties.Resources.myimage);
你可以通过以下方式获取图像的引用:
Image myImage = Resources.myImage;
如果你想复制图像,你需要做以下操作:
Bitmap bmp = new Bitmap(Resources.myImage);
用完后别忘了把bmp处理掉。如果你在编译时不知道资源映像的名称,你可以使用资源管理器:
ResourceManager rm = Resources.ResourceManager;
Bitmap myImage = (Bitmap)rm.GetObject("myImage");
ResourceManager的好处是你可以在Resources。myImage通常超出作用域,或者在您想动态访问资源的位置。此外,这适用于声音,配置文件等。
奇怪的是,通过对设计师的调查,我发现了一个更简单的方法:
该映像似乎可以从. properties . resources中获得。
我只是使用一个图像,因为我感兴趣的是将它粘贴到一个带有图像的控件中。
(Net 4.0, VS2010.)
我建议:
System.Reflection.Assembly thisExe;
thisExe = System.Reflection.Assembly.GetExecutingAssembly();
System.IO.Stream file =
thisExe.GetManifestResourceStream("AssemblyName.ImageFile.jpg");
Image yourImage = Image.FromStream(file);
从msdn: http://msdn.microsoft.com/en-us/library/aa287676 (v = vs.71) . aspx
使用图像。FromStream更好,因为你不需要知道图像的格式(bmp, png,…)
推荐文章
- 实体框架核心:在上一个操作完成之前,在此上下文中开始的第二个操作
- 如何为构造函数定制Visual Studio的私有字段生成快捷方式?
- 如何使用JSON确保字符串是有效的JSON。网
- AppSettings从.config文件中获取值
- 通过HttpClient向REST API发布一个空体
- 如何检查IEnumerable是否为空或空?
- 自动化invokerrequired代码模式
- 在c#代码中设置WPF文本框的背景颜色
- 在c#中,什么是单子?
- c#和Java中的泛型有什么不同?和模板在c++ ?
- c#线程安全快速(est)计数器
- 如何将此foreach代码转换为Parallel.ForEach?
- 如何分裂()一个分隔字符串到一个列表<字符串>
- 如何转换列表<字符串>列表<int>?
- c#对象列表,我如何得到一个属性的和