winform 在指定目录下已经生成资源Image图片的方式

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

调用:

 tool.Image = GetResBitmap(string.Format("Globalegrow.WMS.image.{0}", "appbar.city.sanfrancisco.png"));
View Code

 

如果是在Resources.resx资源文件中,则取得方式:

tspToolbox.Image = global::Globalegrow.WMS.Properties.Resources.appbar_add;
View Code

 

C# 加载图片image --(C#)Image.FromFile 方法会锁住文件的原因及可能的解决方法

http://www.cnblogs.com/maijin/archive/2012/12/20/2826274.html

posted @ 2015-01-02 08:52  跟着阿笨一起玩.NET  阅读(3259)  评论(0编辑  收藏  举报