首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >winform 在指定目录下已经生成资源Image图片的方式

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

作者头像
跟着阿笨一起玩NET
发布于 2018-09-19 16:47:49
发布于 2018-09-19 16:47:49
1.3K0
举报

假设在项目目录下存在一个Image目录,注意其中图片已经都设置成为:生成方式为资源文件。

代码语言:javascript
复制
 /// <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;
        }

调用:

代码语言:javascript
复制
 tool.Image = GetResBitmap(string.Format("Globalegrow.WMS.image.{0}", "appbar.city.sanfrancisco.png"));

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

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-01-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档