假设在项目目录下存在一个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