码迷,mamicode.com
首页 > Windows程序 > 详细

WPF在DLL中读取Resource的方法

时间:2018-08-14 14:39:49      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:程序   ESS   .com   draw   htm   add   DDM   mem   free   

原文:WPF在DLL中读取Resource的方法

WPF是个用户控件,被WinForm调用。而WinForm是在一个DLL类库中被调用。试了很多方法,都无法将Resource中的图读进程序。用下面的方法总算实现了。

 

/根据图片的名称,从资源中找到它
        public static System.Drawing.Bitmap GetPngFromResources(string pngName)
        {
            /tp://www.worlduc.com/blog2012.aspx?bid=760294 c#访问Resources.resx中的资源
            ResourceManager rmManager = global::AddMenuToRevit2013.Properties.Resources.ResourceManager;
            object obj = rmManager.GetObject(pngName);
            if (obj == null)
            {
                MessageBox.Show("未找到图片:" + pngName);
                return null;
            }
            System.Drawing.Bitmap b = obj as System.Drawing.Bitmap;
            if (b != null)
            {
                return b;
            }
            else
            {
                MessageBox.Show("未找到图片:" + pngName);
                return null;
            }
        }

        // System.Drawing.Bitmap要如何轉換成WPF中可用的ImageSource
        /tp://www.dotblogs.com.tw/bauann/archive/2013/04/18/101793.aspx
        public static BitmapImage BitmapToBitmapImage(System.Drawing.Bitmap bitmap)
        {
            BitmapImage bitmapImage = new BitmapImage();
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            bitmap.Save(ms, bitmap.RawFormat);
            bitmapImage.BeginInit();
            bitmapImage.StreamSource = ms;
            bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
            bitmapImage.EndInit();
            bitmapImage.Freeze();
            return bitmapImage;
        }

WPF在DLL中读取Resource的方法

标签:程序   ESS   .com   draw   htm   add   DDM   mem   free   

原文地址:https://www.cnblogs.com/lonelyxmas/p/9473636.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!