从资源加载图像并应用于 Image.source

Lig*_*tar 4 c# wpf resources image

我正在使用

BitmapImage  sharerimg;
sharerimg = new BitmapImage(new Uri("F:/workspace/wpf/NetworkMFServer/NetworkMFServer/imageresources/sharer.png"));
Image im = new Image();
im.Source = sharerimg;
Run Code Online (Sandbox Code Playgroud)

但我将图像添加到资源并对此进行编码

Assembly assembly = Assembly.GetExecutingAssembly();
            string strBaseName = assembly.GetName().Name + ".Properties.Resources";
            ResourceManager rm = new ResourceManager(strBaseName, assembly);
Image im = new Image();
im=(Image)rm.GetObject("sharer");
Run Code Online (Sandbox Code Playgroud)

但是这个显示错误

“无法将‘System.Drawing.Bitmap’转换为‘System.Windows.Controls.Image’”

如何使用图像资源来应用 System.Windows.Controls.Image .Source 属性?

Ami*_*mit 5

根据 MSDN exmaple 你应该这样做 -

Image myImage3 = new Image();
BitmapImage bi3 = new BitmapImage();
bi3.BeginInit();
bi3.UriSource = new Uri("smiley_stackpanel.PNG", UriKind.Relative);
bi3.EndInit();
myImage3.Stretch = Stretch.Fill;
myImage3.Source = bi3;
Run Code Online (Sandbox Code Playgroud)

https://msdn.microsoft.com/en-us/library/system.windows.controls.image.source(v=vs.110).aspx

访问嵌入图像并创建 System.Windows.Controls.Image

  • 请注意,当您使用带有 Uri 参数的 BitmapImage 构造函数(如问题中所用)时,您可以避免使用 BeginInit/EndInit 序列:`var bi = new BitmapImage(new Uri(...));` (3认同)