您的位置:首页 > 其它

WPF在DLL中读取Resource的方法

2014-06-25 18:24 302 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: