假设在项目目录下存在一个Image目录,注意其中图片已经都设置成为:生成方式为资源文件。
/// <summary> /// 得到要绘置的图片对像 /// </summary> /// <param name="str">图像在程序集中的地址</param> /// <returns></returns> public static System.Drawing.Bitmap GetResBitmap(string str) { Stream sm = FindStream(str); if (sm == null) return null; return new System.Drawing.Bitmap(sm); } /// <summary> /// 得到图程序集中的图片对像 /// </summary> /// <param name="str">图像在程序集中的地址</param> /// <returns></returns> private static Stream FindStream(string str) { Assembly assembly = Assembly.GetExecutingAssembly(); string[] resNames = assembly.GetManifestResourceNames(); foreach (string s in resNames) { if (s == str) { return assembly.GetManifestResourceStream(s); } } return null; }
调用:
tool.Image = GetResBitmap(string.Format("Globalegrow.WMS.image.{0}", "appbar.city.sanfrancisco.png"));
如果是在Resources.resx资源文件中,则取得方式:
tspToolbox.Image = global::Globalegrow.WMS.Properties.Resources.appbar_add;
C# 加载图片image --(C#)Image.FromFile 方法会锁住文件的原因及可能的解决方法
http://www.cnblogs.com/maijin/archive/2012/12/20/2826274.html