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;
        }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM